Complete

The UFS/FFS filesystem has the ability to take snapshots. Because the ability to take snapshots was added after soft updates were written, they were fully integrated with soft updates. However, when journaled soft updates were added in 2010, they were never integrated with snapshots. So, snapshots cannot be used on filesystems running with journaled soft updates.

Snapshots became less important when support for ZFS was added to FreeBSD.  ZFS can take snapshots quickly and easily. However, there remain two instances where UFS snapshots are still important. First, they allow reliable dumps of live filesystems, which avoids possibly hours of down time. Second, they allow running background fsck. Similar to the need for scrub in ZFS, fsck needs to be run periodically to find undetected disk failures. Snapshots allow fsck to be run on live filesystems rather than needing to schedule down time.

After consulting with the developer community, the FreeBSD Foundation staff agree that such infrastructure work would have a positive impact. As such, the Foundation began sponsoring Marshall Kirk McKusick to implement the changes required to allow snapshots of UFS/FFS filesystems using journaled soft updates. This work requires extensive changes in the UFS/FFS soft updates and snapshot kernel code and also in the fsck_ffs utility.

The project is expected to be completed around the middle of 2023 with the work divided between two milestones. After milestone 1, snapshots will be enabled when running with journaled soft updates and they will be usable for doing background dumps on a live filesystem. Milestone 2 involves extending fsck_ffs to be able to do a background check using a snapshot on a filesystem running with journaled soft updates. Each milestone is deemed to be completed when the code has made it through the review process and has been committed to the head of the tree.