diff options
author | mckusick <mckusick@FreeBSD.org> | 2012-01-17 01:14:56 +0000 |
---|---|---|
committer | mckusick <mckusick@FreeBSD.org> | 2012-01-17 01:14:56 +0000 |
commit | bdae70b9cd98bf6b9c7852a458268b5847a4de9d (patch) | |
tree | 5ebeb47d30ffda2bfa7aeeadba3a89315b2831c0 /sys/ufs | |
parent | af2e331939df2a83069ad4a6f5ab17eea9f82e8b (diff) | |
download | FreeBSD-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.c | 10 |
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. */ |