summaryrefslogtreecommitdiffstats
path: root/sys/ufs
diff options
context:
space:
mode:
authormckusick <mckusick@FreeBSD.org>2012-01-17 01:14:56 +0000
committermckusick <mckusick@FreeBSD.org>2012-01-17 01:14:56 +0000
commitbdae70b9cd98bf6b9c7852a458268b5847a4de9d (patch)
tree5ebeb47d30ffda2bfa7aeeadba3a89315b2831c0 /sys/ufs
parentaf2e331939df2a83069ad4a6f5ab17eea9f82e8b (diff)
downloadFreeBSD-src-bdae70b9cd98bf6b9c7852a458268b5847a4de9d.zip
FreeBSD-src-bdae70b9cd98bf6b9c7852a458268b5847a4de9d.tar.gz
There are several bugs/hangs when trying to take a snapshot on a UFS/FFS
filesystem running with journaled soft updates. Until these problems have been tracked down, return ENOTSUPP when an attempt is made to take a snapshot on a filesystem running with journaled soft updates. MFC after: 2 weeks
Diffstat (limited to 'sys/ufs')
-rw-r--r--sys/ufs/ffs/ffs_snapshot.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/sys/ufs/ffs/ffs_snapshot.c b/sys/ufs/ffs/ffs_snapshot.c
index c8d8969..adc1d78 100644
--- a/sys/ufs/ffs/ffs_snapshot.c
+++ b/sys/ufs/ffs/ffs_snapshot.c
@@ -225,10 +225,18 @@ ffs_snapshot(mp, snapfile)
ump = VFSTOUFS(mp);
fs = ump->um_fs;
sn = NULL;
+ /*
+ * At the moment, journaled soft updates cannot support
+ * taking snapshots.
+ */
+ if (MOUNTEDSUJ(mp)) {
+ vfs_mount_error(mp, "%s: Snapshots are not yet supported when "
+ "running with journaled soft updates", fs->fs_fsmnt);
+ return (EOPNOTSUPP);
+ }
MNT_ILOCK(mp);
flag = mp->mnt_flag;
MNT_IUNLOCK(mp);
-
/*
* Need to serialize access to snapshot code per filesystem.
*/
OpenPOWER on IntegriCloud