From f96cc13e35a869b7bacc08b66a1981072a6cc310 Mon Sep 17 00:00:00 2001
From: nikita <nikita>
Date: Sat, 18 Oct 2008 17:24:14 +0000
Subject: [PATCH] lu_ref is a debugging module allowing to track references to
 a given object. It is quite cpu expensive, and has to be explicitly enabled
 with --enable-lu_ref. See usage description within the patch. b=16450

---
 lustre/ChangeLog                | 8 ++++++++
 lustre/include/Makefile.am      | 2 +-
 lustre/obdclass/Makefile.in     | 1 +
 lustre/obdclass/autoMakefile.am | 4 ++--
 4 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/lustre/ChangeLog b/lustre/ChangeLog
index a74808ae2e..a65dbba2bd 100644
--- a/lustre/ChangeLog
+++ b/lustre/ChangeLog
@@ -1634,6 +1634,14 @@ Details    : Fix a race between lu_object_find() finding an object and its
 	     concurrent finalization. This race is (most likely) not possible
 	     on the server, but might happen on the client.
 
+Severity   : normal
+Bugzilla   : 16450
+Description: Introduce lu_ref interface.
+Details    : lu_ref is a debugging module allowing to track references to
+	     a given object. It is quite cpu expensive, and has to be
+	     explicitly enabled with --enable-lu_ref. See usage description
+	     within the patch.
+
 --------------------------------------------------------------------------------
 
 2007-08-10         Cluster File Systems, Inc. <info@clusterfs.com>
diff --git a/lustre/include/Makefile.am b/lustre/include/Makefile.am
index 52dae6c0df..16adf5018f 100644
--- a/lustre/include/Makefile.am
+++ b/lustre/include/Makefile.am
@@ -46,4 +46,4 @@ EXTRA_DIST = ioctl.h liblustre.h lprocfs_status.h lustre_cfg.h 	\
              md_object.h dt_object.h lustre_param.h lustre_mdt.h \
              lustre_fid.h lustre_fld.h lustre_req_layout.h lustre_capa.h \
              lustre_idmap.h lustre_eacl.h interval_tree.h obd_cksum.h \
-	     lustre_cache.h lustre_acl.h
+	     lu_ref.h cl_object.h lustre_acl.h lclient.h
diff --git a/lustre/obdclass/Makefile.in b/lustre/obdclass/Makefile.in
index eb16d75b1b..50da9e8846 100644
--- a/lustre/obdclass/Makefile.in
+++ b/lustre/obdclass/Makefile.in
@@ -25,6 +25,7 @@ obdclass-all-objs += debug.o genops.o uuid.o llog_ioctl.o
 obdclass-all-objs += lprocfs_status.o lustre_handles.o lustre_peer.o
 obdclass-all-objs += statfs_pack.o obdo.o obd_config.o obd_mount.o mea.o
 obdclass-all-objs += lu_object.o dt_object.o hash.o capa.o lu_time.o
+obdclass-all-objs += lu_ref.o
 obdclass-all-objs += acl.o idmap.o
 
 obdclass-objs := $(obdclass-linux-objs) $(obdclass-all-objs)
diff --git a/lustre/obdclass/autoMakefile.am b/lustre/obdclass/autoMakefile.am
index 44ae5ace57..778dba02d6 100644
--- a/lustre/obdclass/autoMakefile.am
+++ b/lustre/obdclass/autoMakefile.am
@@ -11,7 +11,7 @@ liblustreclass_a_SOURCES = class_obd.c debug.c genops.c statfs_pack.c mea.c uuid
 liblustreclass_a_SOURCES += lustre_handles.c lustre_peer.c lprocfs_status.c class_hash.c
 liblustreclass_a_SOURCES += obdo.c obd_config.c llog.c llog_obd.c llog_cat.c 
 liblustreclass_a_SOURCES += llog_lvfs.c llog_swab.c capa.c
-liblustreclass_a_SOURCES += lu_object.c
+liblustreclass_a_SOURCES += lu_object.c lu_ref.c lu_time.c
 liblustreclass_a_SOURCES += #llog_ioctl.c rbtree.c
 liblustreclass_a_CPPFLAGS = $(LLCPPFLAGS)
 liblustreclass_a_CFLAGS = $(LLCFLAGS)
@@ -35,7 +35,7 @@ obdclass_SOURCES := \
         lustre_handles.c lustre_peer.c obd_config.c     	\
         obdo.c debug.c llog_ioctl.c uuid.c                      \
         llog_swab.c llog_obd.c llog.c llog_cat.c llog_lvfs.c    \
-        mea.c lu_object.c dt_object.c hash.c
+        mea.c lu_object.c dt_object.c hash.c lu_ref.c
 
 obdclass_CFLAGS := $(EXTRA_KCFLAGS)
 obdclass_LDFLAGS := $(EXTRA_KLDFLAGS)
-- 
GitLab