mirror of
https://github.com/freebsd/freebsd-src.git
synced 2026-10-28 11:25:21 +01:00
Add missing zfs_exit() when snapdir is disabled (#16912)
zfs_vget doesn't zfs_exit when erroring out due to snapdir being disabled. Signed-off-by: Andrew Walker <[email protected]> Reviewed-by: @bmeagherix Reviewed-by: Alexander Motin <[email protected]> Reviewed-by: Ameer Hamza <[email protected]> Reviewed-by: Tony Hutter <[email protected]>
This commit is contained in:
1 parent
54126fdb5b
commit
25238baad5
1 file changed
+4
-3
@@ -1702,13 +1702,14 @@ zfs_vget(struct super_block *sb, struct inode **ipp, fid_t *fidp)
|
||||
/* A zero fid_gen means we are in the .zfs control directories */
|
||||
if (fid_gen == 0 &&
|
||||
(object == ZFSCTL_INO_ROOT || object == ZFSCTL_INO_SNAPDIR)) {
|
||||
*ipp = zfsvfs->z_ctldir;
|
||||
ASSERT(*ipp != NULL);
|
||||
|
||||
if (zfsvfs->z_show_ctldir == ZFS_SNAPDIR_DISABLED) {
|
||||
zfs_exit(zfsvfs, FTAG);
|
||||
return (SET_ERROR(ENOENT));
|
||||
}
|
||||
|
||||
*ipp = zfsvfs->z_ctldir;
|
||||
ASSERT(*ipp != NULL);
|
||||
|
||||
if (object == ZFSCTL_INO_SNAPDIR) {
|
||||
VERIFY(zfsctl_root_lookup(*ipp, "snapshot", ipp,
|
||||
0, kcred, NULL, NULL) == 0);
|
||||
|
||||
Reference in new issue
Block a user