[Midnightbsd-cvs] src [8297] trunk/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c: zfs: make use of getnewvnode_reverse

laffer1 at midnightbsd.org laffer1 at midnightbsd.org
Sat Sep 17 18:17:56 EDT 2016


Revision: 8297
          http://svnweb.midnightbsd.org/src/?rev=8297
Author:   laffer1
Date:     2016-09-17 18:17:56 -0400 (Sat, 17 Sep 2016)
Log Message:
-----------
zfs: make use of getnewvnode_reverse

Modified Paths:
--------------
    trunk/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c

Modified: trunk/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c
===================================================================
--- trunk/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c	2016-09-17 22:17:34 UTC (rev 8296)
+++ trunk/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c	2016-09-17 22:17:56 UTC (rev 8297)
@@ -855,6 +855,7 @@
 		}
 	}
 
+	getnewvnode_reserve(1);
 	ZFS_OBJ_HOLD_ENTER(zfsvfs, obj);
 	VERIFY(0 == sa_buf_hold(zfsvfs->z_os, obj, NULL, &db));
 
@@ -1041,6 +1042,7 @@
 		KASSERT(err == 0, ("insmntque() failed: error %d", err));
 	}
 	ZFS_OBJ_HOLD_EXIT(zfsvfs, obj);
+	getnewvnode_drop_reserve();
 }
 
 /*
@@ -1151,6 +1153,7 @@
 
 	*zpp = NULL;
 
+	getnewvnode_reserve(1);
 again:
 	ZFS_OBJ_HOLD_ENTER(zfsvfs, obj_num);
 
@@ -1157,6 +1160,7 @@
 	err = sa_buf_hold(zfsvfs->z_os, obj_num, NULL, &db);
 	if (err) {
 		ZFS_OBJ_HOLD_EXIT(zfsvfs, obj_num);
+		getnewvnode_drop_reserve();
 		return (err);
 	}
 
@@ -1167,6 +1171,7 @@
 	    doi.doi_bonus_size < sizeof (znode_phys_t)))) {
 		sa_buf_rele(db, NULL);
 		ZFS_OBJ_HOLD_EXIT(zfsvfs, obj_num);
+		getnewvnode_drop_reserve();
 		return (EINVAL);
 	}
 
@@ -1230,6 +1235,7 @@
 		sa_buf_rele(db, NULL);
 		mutex_exit(&zp->z_lock);
 		ZFS_OBJ_HOLD_EXIT(zfsvfs, obj_num);
+		getnewvnode_drop_reserve();
 		return (err);
 	}
 
@@ -1265,6 +1271,7 @@
 		}
 	}
 	ZFS_OBJ_HOLD_EXIT(zfsvfs, obj_num);
+	getnewvnode_drop_reserve();
 	return (err);
 }
 



More information about the Midnightbsd-cvs mailing list