From b9856eca80e2f820c88f60fdc6cb1427905671af Mon Sep 17 00:00:00 2001 From: Krutika Dhananjay Date: Thu, 5 Jun 2014 09:22:34 +0530 Subject: features/locks: Clean up logging of cleanup in DISCONNECT codepath Now, gfid is printed as opposed to path in cleanup messages. Also, refkeeper update is eliminated in inodelk and entrylk. Instead, the patch ensures inode and pl_inode are kept alive as long as there is atleast one lock (granted/blocked) on an inode. Also, every inode is unref'd appropriately on a DISCONNECT from the lock-owning client. Change-Id: I531b1a02fe1b889fdd7f54b1fd522e78a18ed1df BUG: 1104915 Signed-off-by: Krutika Dhananjay Reviewed-on: http://review.gluster.org/7981 Tested-by: Gluster Build System Reviewed-by: Pranith Kumar Karampuri Tested-by: Pranith Kumar Karampuri --- xlators/features/locks/src/locks.h | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'xlators/features/locks/src/locks.h') diff --git a/xlators/features/locks/src/locks.h b/xlators/features/locks/src/locks.h index 8c2a6f867ee..f761b3d4a00 100644 --- a/xlators/features/locks/src/locks.h +++ b/xlators/features/locks/src/locks.h @@ -146,6 +146,10 @@ struct __pl_inode { inode_t *refkeeper; /* hold refs on an inode while locks are held to prevent pruning */ + uuid_t gfid; /* placeholder for gfid of the inode */ + inode_t *inode; /* pointer to be used for ref and unref + of inode_t as long as there are + locks on it */ }; typedef struct __pl_inode pl_inode_t; -- cgit