The branch stable/13 has been updated by mckusick:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=0ae91878cc451ce5d45bbec815db830e0bc4c591

commit 0ae91878cc451ce5d45bbec815db830e0bc4c591
Author:     Kirk McKusick <[email protected]>
AuthorDate: 2022-09-27 15:57:30 +0000
Commit:     Kirk McKusick <[email protected]>
CommitDate: 2022-10-13 15:43:41 +0000

    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.

Reply via email to