Whatever it was doing does not appear to be necessary anymore
as evidenced with newer kernels where the define was removed,
but disabled in Lustre instead.
Another important reason to remove it is because rhel7.3+ seems
to have broken this RCU functionality and leads to frequent use
after frees.
This patch is back-port from:
Lustre-commit:
82d014e71e14671e876055851a0d37e98b4cc079
Lustre-change: https://review.whamcloud.com/34147
Change-Id: I50991b9daf4ef06b24cb65d7a04a5e9b86706d36
Signed-off-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-on: https://review.whamcloud.com/34434
Tested-by: Jenkins
\batomic_sub_and_test\b
\bcall_wait_handler\b
\binit_completion_module\b
-\bSLAB_DESTROY_BY_RCU\b
\bSLAB_KERNEL\b
\bSLAB_NOFS\b
\bTASK_INTERRUPTIBLE\b
#define simple_setattr(dentry, ops) inode_setattr((dentry)->d_inode, ops)
#endif
-#ifndef SLAB_DESTROY_BY_RCU
-#define SLAB_DESTROY_BY_RCU 0
-#endif
-
#ifndef HAVE_DQUOT_SUSPEND
# define ll_vfs_dq_init vfs_dq_init
# define ll_vfs_dq_drop vfs_dq_drop
ldlm_lock_slab = kmem_cache_create("ldlm_locks",
sizeof(struct ldlm_lock), 0,
- SLAB_HWCACHE_ALIGN | SLAB_DESTROY_BY_RCU, NULL);
+ SLAB_HWCACHE_ALIGN, NULL);
if (ldlm_lock_slab == NULL)
goto out_resource;