Enable taking snapshots on UFS/FFS filesystems using journaled soft updates.

All the needed infrastructure updates have been made to allow
snapshots to be taken on UFS/FFS filesystems that are using journaled
soft updates. The most immediate benefit is the ability to use a
snapshot to take a consistent filesystem dump on a live filesystem
using the -L option to dump(8).

Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D36491
This commit is contained in:
Kirk McKusick 2022-11-12 22:56:03 -08:00
parent 5c7ba6bdf8
commit 78f4129876
3 changed files with 2 additions and 15 deletions

View File

@ -205,9 +205,7 @@ is running.
Running a full fsck on a UFS filesystem is the equivalent of
running a scrub on a ZFS filesystem.
.Pp
Presently it is not possible to take a snapshot on a UFS filesystem
running with journaled soft updates.
Thus it is not possible to reliably dump mounted filesystems or
Presently it is not possible
to run background fsck on filesystems enabled for journaling.
.It Fl k Ar held-for-metadata-blocks
Set the amount of space to be held for metadata blocks in each cylinder group.

View File

@ -131,9 +131,7 @@ is running.
Running a full fsck on a UFS filesystem is the equivalent of
running a scrub on a ZFS filesystem.
.Pp
Presently it is not possible to take a snapshot on a UFS filesystem
running with journaled soft updates.
Thus it is not possible to reliably dump mounted filesystems or
Presently it is not possible
to run background fsck on filesystems enabled for journaling.
.It Fl J Cm enable | disable
Turn on/off gjournal flag.

View File

@ -226,15 +226,6 @@ ffs_snapshot(struct mount *mp, char *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);