From 626d79b6227bbbe6725898a9c0076ead751a4ea7 Mon Sep 17 00:00:00 2001 From: adilger Date: Fri, 24 May 2002 18:46:33 +0000 Subject: [PATCH] Fix refcount problem. It wasn't dentries that were causing the problem, but an unbalanced push_ctxt() increasing the mnt->mnt_count and not allowing us to free the superblock. Argh. --- lustre/obdfilter/filter.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/lustre/obdfilter/filter.c b/lustre/obdfilter/filter.c index bb7a56b..f029fd8 100644 --- a/lustre/obdfilter/filter.c +++ b/lustre/obdfilter/filter.c @@ -662,7 +662,6 @@ static int filter_destroy(struct obd_conn *conn, struct obdo *oa) CDEBUG(D_INODE, "destroying object %Ld\n",oa->o_id); obddev = conn->oc_dev; - push_ctxt(&saved, &obddev->u.filter.fo_ctxt); dir_dentry = filter_parent(obddev, oa->o_mode); down(&dir_dentry->d_inode->i_sem); @@ -678,7 +677,6 @@ static int filter_destroy(struct obd_conn *conn, struct obdo *oa) } inode->i_mode = 010000; - CDEBUG(D_INODE, "calling vfs_unlink for object #%ld\n", inode->i_ino); push_ctxt(&saved, &obddev->u.filter.fo_ctxt); rc = vfs_unlink(dir_dentry->d_inode, object_dentry); pop_ctxt(&saved); -- 1.8.3.1