Whamcloud - gitweb
LU-17870 lu: delete lu_ref forever 82/55182/5
authorTimothy Day <timday@amazon.com>
Thu, 23 May 2024 03:28:51 +0000 (03:28 +0000)
committerOleg Drokin <green@whamcloud.com>
Wed, 19 Jun 2024 01:12:37 +0000 (01:12 +0000)
commit0cef80248568c06d97f060c4fda867abd57944de
tree7978b38b610451b933502a68274d45ff09c5b738
parent0c16987b2233c32d775f0e3e6f6503c4b7825e02
LU-17870 lu: delete lu_ref forever

Remove lu_ref infrastructure forever. This debugging infrastructure
is often broken and doesn't coorespond with the actual reference
counting used to manage object lifetimes. Hence, when a real bug
is encountered (i.e. some thread isn't releasing a reference),
this code (assuming it happens to be working) can't actually help
debug the issue.

Recently, I was debugging an issue with ld_ref counting. Naturally,
I turned to the debugging code available already in Lustre. I was
dismayed to find that it was more broken than the code I was already
debugging. Rather than debug the debugging code, I think it's
better to cast it away.

Most compelling, the builds used by Maloo and Gerrit Janitor don't
enable this feature. So it can be broken for long periods of time
without anyone noticing.

Signed-off-by: Timothy Day <timday@amazon.com>
Change-Id: I8eaa6d8518f642adebb612ec3fa780b584366f4f
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/55182
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Alex Zhuravlev <bzzz@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
41 files changed:
lustre/autoconf/lustre-core.m4
lustre/include/Makefile.am
lustre/include/cl_object.h
lustre/include/lu_object.h
lustre/include/lu_ref.h [deleted file]
lustre/include/lustre_dlm.h
lustre/include/obd.h
lustre/ldlm/ldlm_lock.c
lustre/ldlm/ldlm_lockd.c
lustre/ldlm/ldlm_request.c
lustre/ldlm/ldlm_resource.c
lustre/llite/lcommon_cl.c
lustre/llite/rw.c
lustre/llite/rw26.c
lustre/llite/vvp_dev.c
lustre/llite/vvp_io.c
lustre/lov/lov_object.c
lustre/lov/lovsub_dev.c
lustre/mdc/mdc_dev.c
lustre/mdc/mdc_reint.c
lustre/mdt/mdt_handler.c
lustre/obdclass/Makefile.in
lustre/obdclass/cl_io.c
lustre/obdclass/cl_object.c
lustre/obdclass/cl_page.c
lustre/obdclass/genops.c
lustre/obdclass/lu_object.c
lustre/obdclass/lu_ref.c [deleted file]
lustre/obdclass/obd_config.c
lustre/osc/osc_cache.c
lustre/osc/osc_lock.c
lustre/osc/osc_page.c
lustre/osc/osc_request.c
lustre/osd-ldiskfs/osd_handler.c
lustre/osd-ldiskfs/osd_internal.h
lustre/quota/qmt_pool.c
lustre/quota/qsd_internal.h
lustre/quota/qsd_lib.c
lustre/quota/qsd_lock.c
lustre/quota/qsd_reint.c
lustre/quota/qsd_request.c