diff options
author | Kirk McKusick <mckusick@FreeBSD.org> | 2022-09-27 15:57:30 +0000 |
---|---|---|
committer | Kirk McKusick <mckusick@FreeBSD.org> | 2022-10-13 15:43:41 +0000 |
commit | 0ae91878cc451ce5d45bbec815db830e0bc4c591 (patch) | |
tree | e5c3a1c7a93e36e9b5341dd1fb19495a33ec0796 | |
parent | ce82d6846bda5378d91aa94c442f9b8c416ffce9 (diff) | |
download | src-0ae91878cc451ce5d45bbec815db830e0bc4c591.tar.gz src-0ae91878cc451ce5d45bbec815db830e0bc4c591.zip |
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)
-rw-r--r-- | sys/ufs/ffs/ffs_vfsops.c | 5 |
1 files changed, 4 insertions, 1 deletions
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. |