Whamcloud - gitweb
ORNL-26 prevent call md_set_lock_data() repeatly
authorFan Yong <yong.fan@whamcloud.com>
Thu, 3 Nov 2011 16:40:32 +0000 (00:40 +0800)
committerOleg Drokin <green@whamcloud.com>
Fri, 4 Nov 2011 01:34:59 +0000 (21:34 -0400)
commit4e54535c857d73f8606d2b5446bad6a6c7a6c532
treef27b4a93b6f82d9b3c52b60e2d6ff8598c7760c9
parent42177ca5431551432220050b4643707ff10a1065
ORNL-26 prevent call md_set_lock_data() repeatly

md_set_lock_data() is called from different functions in llite, and
may be called more than once for the same <inode lock> pair. It is
harmless for the correctness, but will affect the performance a bit,
should be avoided.

Drop dentry flags of "DCACHE_LUSTRE_INVALID" only when we hold the
"MDS_INODELOCK_LOOKUP" lock.

Signed-off-by: Fan Yong <yong.fan@whamcloud.com>
Change-Id: I4dbe206af77ba6a619f3268c238ce98ac7aef4c0
Reviewed-on: http://review.whamcloud.com/1224
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
12 files changed:
lustre/include/liblustre.h
lustre/include/linux/lustre_intent.h
lustre/include/obd.h
lustre/include/obd_class.h
lustre/llite/dcache.c
lustre/llite/file.c
lustre/llite/llite_internal.h
lustre/llite/llite_lib.c
lustre/llite/namei.c
lustre/lmv/lmv_obd.c
lustre/mdc/mdc_internal.h
lustre/mdc/mdc_locks.c