From 0ae91878cc451ce5d45bbec815db830e0bc4c591 Mon Sep 17 00:00:00 2001 From: Kirk McKusick Date: Tue, 27 Sep 2022 08:57:30 -0700 Subject: When taking a snapshot on a UFS/FFS filesystem, it must be mounted. PR: 265362 Sponsored by: The FreeBSD Foundation (cherry picked from commit 27d673fbbb79b1b829484ec127da59b45f623ebd) --- sys/ufs/ffs/ffs_vfsops.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/sys/ufs/ffs/ffs_vfsops.c b/sys/ufs/ffs/ffs_vfsops.c index 5daf8e0e607e..2d5db7722a0f 100644 --- a/sys/ufs/ffs/ffs_vfsops.c +++ b/sys/ufs/ffs/ffs_vfsops.c @@ -440,8 +440,11 @@ ffs_mount(struct mount *mp) /* * If this is a snapshot request, take the snapshot. */ - if (mp->mnt_flag & MNT_SNAPSHOT) + if (mp->mnt_flag & MNT_SNAPSHOT) { + if ((mp->mnt_flag & MNT_UPDATE) == 0) + return (EINVAL); return (ffs_snapshot(mp, fspec)); + } /* * Must not call namei() while owning busy ref. -- cgit v1.2.3