"Jrgen_P._Tjern":
> Sounds about right, except that I used umount -lf because I think some
> files were still open. :-)
I think I could reproduce your problem.
I hope this patch will solve it.
Junjiro Okajima
diff -x CVS -x RCS -x .pdiff -rup ../../sf.anon/aufs/fs/aufs/super.c
./fs/aufs/super.c
--- ../../sf.anon/aufs/fs/aufs/super.c 2007-12-03 10:38:16.000000000 +0900
+++ ./fs/aufs/super.c 2008-01-23 14:11:29.000000000 +0900
@@ -282,7 +282,7 @@ static int aufs_statfs(struct super_bloc
return err;
}
-static void au_update_mnt(struct vfsmount *mnt)
+static void au_update_mnt(struct vfsmount *mnt, int flags)
{
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 18)
struct vfsmount *pos;
@@ -308,7 +308,7 @@ static void au_update_mnt(struct vfsmoun
sbinfo->si_mnt = pos;
break;
}
- AuDebugOn(!sbinfo->si_mnt);
+ AuDebugOn(!(flags & MNT_DETACH) && !sbinfo->si_mnt);
#endif
}
@@ -317,10 +317,12 @@ static void au_update_mnt(struct vfsmoun
#if UmountBeginHasMnt
#define UmountBeginSb(mnt) (mnt)->mnt_sb
#define UmountBeginMnt(mnt) (mnt)
-static void aufs_umount_begin(struct vfsmount *arg, int flags)
+#define UmountBeginFlags _flags
+static void aufs_umount_begin(struct vfsmount *arg, int _flags)
#else
#define UmountBeginSb(sb) sb
#define UmountBeginMnt(sb) NULL
+#define UmountBeginFlags 0
static void aufs_umount_begin(struct super_block *arg)
#endif
{
@@ -335,13 +337,11 @@ static void aufs_umount_begin(struct sup
return;
si_write_lock(sb);
- if (AuFlag(sbinfo, f_plink))
- au_put_plink(sb);
#if 0 // remove
if (unlikely(au_flag_test(sb, AuFlag_UDBA_INOTIFY)))
shrink_dcache_sb(sb);
#endif
- au_update_mnt(mnt);
+ au_update_mnt(mnt, UmountBeginFlags);
#if 0
if (sbinfo->si_wbr_create_ops->fin)
sbinfo->si_wbr_create_ops->fin(sb);
@@ -358,6 +358,8 @@ static void free_sbinfo(struct super_blo
AuDebugOn(!sbinfo || !list_empty(&sbinfo->si_plink));
si_write_lock(sb);
+ if (AuFlag(sbinfo, f_plink))
+ au_put_plink(sb);
xino_clr(sb);
free_branches(sbinfo);
kfree(sbinfo->si_branch);
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/