commit 2fdb5d1202518dcc6c70e2eac473d958fd460617
Author: Erez_Zadok <[EMAIL PROTECTED]>
Date: Sat Jul 21 02:38:14 2007 -0400
Unionfs: branch-management bugfix to unionfs_file_revalidate
If we re-opened the file on a different branch than the original one, and
only if this was due to a new branch inserted, then update the mnt counts of
the old and new branches accordingly.
Signed-off-by: Erez Zadok <[EMAIL PROTECTED]>
diff --git a/fs/unionfs/commonfops.c b/fs/unionfs/commonfops.c
index f6f7dea..baa6a37 100644
--- a/fs/unionfs/commonfops.c
+++ b/fs/unionfs/commonfops.c
@@ -370,11 +370,12 @@ int unionfs_file_revalidate(struct file *file, int
willwrite)
goto out;
new_brid = UNIONFS_F(file)->
saved_branch_ids[fbstart(file)];
- if (new_brid != orig_brid) {
+ if (new_brid != orig_brid && sbgen > fgen) {
/*
* If we re-opened the file on a different
- * branch than the original one, then update
- * the mnt counts of the old and new
+ * branch than the original one, and this
+ * was due to a new branch inserted, then
+ * update the mnt counts of the old and new
* branches accordingly.
*/
unionfs_mntget(dentry, bstart); /* new branch */
_______________________________________________
unionfs-cvs mailing list: http://unionfs.filesystems.org/
[email protected]
http://www.fsl.cs.sunysb.edu/mailman/listinfo/unionfs-cvs