Whamcloud - gitweb
LU-6304 ldlm: crash on umount in cleanup_resource 08/13908/10
authorAndriy Skulysh <andriy.skulysh@seagate.com>
Fri, 27 Feb 2015 12:15:15 +0000 (14:15 +0200)
committerOleg Drokin <oleg.drokin@intel.com>
Wed, 16 Mar 2016 04:33:48 +0000 (04:33 +0000)
commit0badac9d0b002d5e4399e59aa7bde28a10021f1f
tree960aad8586fbba93955181010413a6f747497643
parent4943ae1975dcd056143db2b31663414c9b1981a7
LU-6304 ldlm: crash on umount in cleanup_resource

cfs_hash_for_each_relax() assumes that cfs_hash_put_locked()
doesn't release bd lock, but it isn't true for
ldlm_res_hop_put_locked().

Add recfcount on next hnode in cfs_hash_for_each_relax() and
remove ldlm_res_hop_put_locked()

Change-Id: I275c0d29737119d084205e604c336a42e489bfe7
Xyratex-bug-id: MRP-2352
Signed-off-by: Andriy Skulysh <andriy.skulysh@seagate.com>
Reviewed-by: Vitaly Fertman <vitaly.fertman@seagate.com>
Reviewed-by: Alexander Boyko <alexander.boyko@seagate.com>
Tested-by: Alexander Lezhoev <alexander.lezhoev@seagate.com>
Reviewed-on: http://review.whamcloud.com/13908
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
libcfs/libcfs/hash.c
lustre/ldlm/ldlm_internal.h
lustre/ldlm/ldlm_resource.c