Whamcloud - gitweb
LU-8019 llite: Restore proper opencache operations 54/20354/3
authorOleg Drokin <oleg.drokin@intel.com>
Fri, 20 May 2016 16:16:46 +0000 (12:16 -0400)
committerOleg Drokin <oleg.drokin@intel.com>
Tue, 14 Jun 2016 03:48:52 +0000 (03:48 +0000)
commit65d0add6057b138e753761b04583339cf39b84f6
tree81f06695bca66db0fd447d19acac17695b62a221
parent3b91944fb5a1f8e47188899cfeae5a2af8cf1d07
LU-8019 llite: Restore proper opencache operations

Just returning 0 from revalidate for all opens broke open cache
because when we enter ll_lookup_nd, we have no inode and need to
do an RPC to get there which defeats the purpose.

Instead allow returning 1 for non-creating opens,
mark all dentries passing via ll_iget_for_nfs as such
so that ll_file_open would know where did we
come from and request the open lock with the handle.

Change-Id: Id8a0ade892bc26cee96a9ba2b1498cc3199255f0
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Reviewed-on: http://review.whamcloud.com/20354
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Li Xi <lixi@ddn.com>
lustre/llite/dcache.c
lustre/llite/file.c
lustre/llite/llite_internal.h
lustre/llite/llite_nfs.c