From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Josef 'Jeff' Sipek" Subject: [PATCH 06/21] Unionfs: Provide more helpful info on branch leaks during unmount Date: Mon, 9 Apr 2007 10:53:57 -0400 Message-ID: <11761304531397-git-send-email-jsipek@cs.sunysb.edu> References: <11761304521844-git-send-email-jsipek@cs.sunysb.edu> Cc: akpm@linux-foundation.org, Erez Zadok , "Josef 'Jeff' Sipek" To: linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org Return-path: In-Reply-To: <11761304521844-git-send-email-jsipek@cs.sunysb.edu> Sender: linux-kernel-owner@vger.kernel.org List-Id: linux-fsdevel.vger.kernel.org From: Erez Zadok Signed-off-by: Erez Zadok [jsipek: no need to take a read lock on the superblock private data] Signed-off-by: Josef 'Jeff' Sipek --- fs/unionfs/super.c | 8 +++++++- 1 files changed, 7 insertions(+), 1 deletions(-) diff --git a/fs/unionfs/super.c b/fs/unionfs/super.c index 571b589..037c47d 100644 --- a/fs/unionfs/super.c +++ b/fs/unionfs/super.c @@ -97,6 +97,7 @@ static void unionfs_put_super(struct super_block *sb) { int bindex, bstart, bend; struct unionfs_sb_info *spd; + int leaks = 0; spd = UNIONFS_SB(sb); if (!spd) @@ -107,7 +108,12 @@ static void unionfs_put_super(struct super_block *sb) /* Make sure we have no leaks of branchget/branchput. */ for (bindex = bstart; bindex <= bend; bindex++) - BUG_ON(branch_count(sb, bindex) != 0); + if (branch_count(sb, bindex) != 0) { + printk("unionfs: branch %d has %d references left!\n", + bindex, branch_count(sb,bindex)); + leaks = 1; + } + BUG_ON(leaks != 0); kfree(spd->data); kfree(spd); -- 1.5.0.3.268.g3dda