Print this page
zpool import speedup

@@ -1001,23 +1001,29 @@
  * dmu_objset_{hold,rele}() are convenience routines that also do the pool
  * hold/rele.
  */
 
 int
-dsl_pool_hold(const char *name, void *tag, dsl_pool_t **dp)
+dsl_pool_hold_lock(const char *name, void *tag, dsl_pool_t **dp, int lock)
 {
         spa_t *spa;
         int error;
 
-        error = spa_open(name, &spa, tag);
+        error = spa_open_lock(name, &spa, tag, lock);
         if (error == 0) {
                 *dp = spa_get_dsl(spa);
                 dsl_pool_config_enter(*dp, tag);
         }
         return (error);
 }
 
+int
+dsl_pool_hold(const char *name, void *tag, dsl_pool_t **dp)
+{
+        return (dsl_pool_hold_lock(name, tag, dp, 1));
+}
+
 void
 dsl_pool_rele(dsl_pool_t *dp, void *tag)
 {
         dsl_pool_config_exit(dp, tag);
         spa_close(dp->dp_spa, tag);