Whamcloud - gitweb
LU-506 kernel: FC15 - support dcache scalability changes.
authoryangsheng <ys@whamcloud.com>
Fri, 25 May 2012 18:12:36 +0000 (02:12 +0800)
committerOleg Drokin <green@whamcloud.com>
Tue, 12 Jun 2012 08:06:08 +0000 (04:06 -0400)
commitd10c9e05ab593f361fdfd27842766a1924e63e58
treeb1cf68bc1a3a6bfaa43ca8c070ee6b30b3cc3afb
parent3f90f344ae059b30e7d23e4fe554a985eb827b02
LU-506 kernel: FC15 - support dcache scalability changes.

* dcache supports rcu-walk, but lustre doesn't, so
revalidate/check_acl/permission fall back to ref-walk.
* dcache_lock is completely removed in latest kernel, many
fields are protected by inode->i_lock now.
* remove super hack d_rehash_cond(), and treats
DCACHE_LUSTRE_INVALID similar to DCACHE_DISCONNECTED, therefore
dentry doesn't need to be dropped and rehashed frequently.
* .lookup(LOOKUP_CREATE) calls d_add() dentry directly, and
.create only needs to d_instantiate() this dentry.
* set sb->s_d_op to ll_d_ops, and d_alloc() will initialize
dentry with it, therefore it's no need to set dentry operations
explicitely for new kernel.
* .d_delete is called before dentry refcount decrease for new
kernel.
* other cleanups.

Change-Id: Ib08bd4a45dba8d3d5b6150e9a4df95728fdf33e2
Signed-off-by: Lai Siyao <laisiyao@whamcloud.com>
Signed-off-by: yang sheng <ys@whamcloud.com>
Reviewed-on: http://review.whamcloud.com/1865
Reviewed-by: Fan Yong <yong.fan@whamcloud.com>
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
13 files changed:
libcfs/libcfs/linux/linux-proc.c
lustre/autoconf/lustre-core.m4
lustre/include/linux/lustre_compat25.h
lustre/include/linux/lustre_patchless_compat.h
lustre/include/linux/lvfs.h
lustre/ldlm/ldlm_lock.c
lustre/llite/dcache.c
lustre/llite/file.c
lustre/llite/llite_internal.h
lustre/llite/llite_lib.c
lustre/llite/namei.c
lustre/llite/statahead.c
lustre/lvfs/lvfs_linux.c