aboutsummaryrefslogtreecommitdiff
path: root/sys/ufs
diff options
context:
space:
mode:
authorTor Egge <tegge@FreeBSD.org>2006-09-26 04:19:11 +0000
committerTor Egge <tegge@FreeBSD.org>2006-09-26 04:19:11 +0000
commit9b65c22cf41392c7c698b88761ca6b557a490e67 (patch)
treee9bab20e118499ff1c4577564930a58766b7bc92 /sys/ufs
parentfba924ce9b8ec32ae8d158b1bfe3ee384030d2e1 (diff)
downloadsrc-9b65c22cf41392c7c698b88761ca6b557a490e67.tar.gz
src-9b65c22cf41392c7c698b88761ca6b557a490e67.zip
Don't restore MNT_QUOTA bit in mnt_flag after snapshot creation,
closing a race between nmount() and quotactl().
Notes
Notes: svn path=/head/; revision=162652
Diffstat (limited to 'sys/ufs')
-rw-r--r--sys/ufs/ffs/ffs_snapshot.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/ufs/ffs/ffs_snapshot.c b/sys/ufs/ffs/ffs_snapshot.c
index f23f098d3664..473dbfdf338d 100644
--- a/sys/ufs/ffs/ffs_snapshot.c
+++ b/sys/ufs/ffs/ffs_snapshot.c
@@ -832,7 +832,7 @@ out:
}
UFS_UNLOCK(ump);
MNT_ILOCK(mp);
- mp->mnt_flag = flag;
+ mp->mnt_flag = (mp->mnt_flag & MNT_QUOTA) | (flag & ~MNT_QUOTA);
MNT_IUNLOCK(mp);
if (error)
(void) ffs_truncate(vp, (off_t)0, 0, NOCRED, td);