Whamcloud - gitweb
LU-7973 llite: lock i_lock/dcache_lock before __d_drop() 87/19287/2
authorBruno Faccini <bruno.faccini@intel.com>
Fri, 1 Apr 2016 12:31:55 +0000 (14:31 +0200)
committerOleg Drokin <oleg.drokin@intel.com>
Fri, 22 Apr 2016 15:48:30 +0000 (15:48 +0000)
commit2a4205dd5d254f99df9124d0ffe722db4500280b
treeec0ee4e336069ffd73b94016749c95a71bffabe5
parent4dde595cbd76e662c8cae41ecb063acb8cbdc0a4
LU-7973 llite: lock i_lock/dcache_lock before __d_drop()

There has been several Lustre Client crashes reported by sites
running with Lustre versions 2.1/2.5, all showing the same
dentry->d_hash->next corrupted pointer cause.

This patch fixes a regression that has been introduced since a
long time by commit :
d10c9e05ab593f361fdfd27842766a1924e63e58
(LU-506 kernel: FC15 - support dcache scalability changes.)

where i_lock/dcache_lock protection usage has been removed and
that is likely to cause racy condition during dentry [un]hashing
and to be the root cause of these crashes.

Signed-off-by: Bruno Faccini <bruno.faccini@intel.com>
Change-Id: Ie1239058222f15f7e094d8fae4d37e4a36449707
Reviewed-on: http://review.whamcloud.com/19287
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Lai Siyao <lai.siyao@intel.com>
Reviewed-by: Yang Sheng <yang.sheng@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
lustre/llite/file.c