diff options
author | Konstantin Belousov <kib@FreeBSD.org> | 2023-11-09 20:18:47 +0000 |
---|---|---|
committer | Konstantin Belousov <kib@FreeBSD.org> | 2023-11-12 00:31:13 +0000 |
commit | d0b4efe6d294940d668171071eb71aab870139ab (patch) | |
tree | ac62203ce296709aabf155dec0d4fca8e8d47fb0 | |
parent | 5d15f0d5406b6d27ecc8fa21a6d93754bf6c85f4 (diff) | |
download | src-d0b4efe6d294940d668171071eb71aab870139ab.tar.gz src-d0b4efe6d294940d668171071eb71aab870139ab.zip |
vfs_domount_update(): ensure that 'goto end' works
PR: 274992
(cherry picked from commit ede4c412b3ea9289ef42c664b01b6b5ff7eac434)
-rw-r--r-- | sys/kern/vfs_mount.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/sys/kern/vfs_mount.c b/sys/kern/vfs_mount.c index aa4642c0ba8c..1a559bfd998e 100644 --- a/sys/kern/vfs_mount.c +++ b/sys/kern/vfs_mount.c @@ -1380,6 +1380,8 @@ vfs_domount_update( VOP_UNLOCK(vp); rootvp = NULL; + vfs_op_enter(mp); + vn_seqc_write_begin(vp); if (vfs_getopt(*optlist, "fsid", (void **)&fsid_up, &fsid_up_len) == 0) { @@ -1394,9 +1396,6 @@ vfs_domount_update( vfs_deleteopt(*optlist, "fsid"); } - vfs_op_enter(mp); - vn_seqc_write_begin(vp); - MNT_ILOCK(mp); if ((mp->mnt_kern_flag & MNTK_UNMOUNT) != 0) { MNT_IUNLOCK(mp); |