commit 697f6e855f51a3b5ad8529a6d9509a4cf2733b1a
Author: Erez_Zadok <[EMAIL PROTECTED]>
Date: Mon Jul 16 23:56:26 2007 -0400
Unionfs: bugfix: don't call branchget() until dentry_open succeeded
If dentry_open fails, we incorrectly have incremented our branch counts
which would prevent unionfs from being unmounted (EBUSY).
Signed-off-by: Erez Zadok <[EMAIL PROTECTED]>
diff --git a/fs/unionfs/commonfops.c b/fs/unionfs/commonfops.c
index 46e5008..42678a6 100644
--- a/fs/unionfs/commonfops.c
+++ b/fs/unionfs/commonfops.c
@@ -216,7 +216,6 @@ static int open_highest_file(struct file *file, int
willwrite)
dget(lower_dentry);
unionfs_mntget(dentry, bstart);
- branchget(sb, bstart);
lower_file = dentry_open(lower_dentry,
unionfs_lower_mnt_idx(dentry, bstart),
file->f_flags);
@@ -224,6 +223,7 @@ static int open_highest_file(struct file *file, int
willwrite)
err = PTR_ERR(lower_file);
goto out;
}
+ branchget(sb, bstart);
unionfs_set_lower_file(file, lower_file);
/* Fix up the position. */
lower_file->f_pos = file->f_pos;
_______________________________________________
unionfs-cvs mailing list: http://unionfs.filesystems.org/
[email protected]
http://www.fsl.cs.sunysb.edu/mailman/listinfo/unionfs-cvs