Author: mav
Date: Mon Jun  3 17:08:49 2019
New Revision: 348553
URL: https://svnweb.freebsd.org/changeset/base/348553

Log:
  9681 ztest failure in spa_history_log_internal due to spa_rename()
  
  illumos/illumos-gate@6aee0ad76969eb0027131b3a338f2d94ae86f728
  
  Reviewed by: Prakash Surya <[email protected]>
  Reviewed by: Serapheim Dimitropoulos <[email protected]>
  Approved by: Robert Mustacchi <[email protected]>
  Author:     Matthew Ahrens <[email protected]>

Modified:
  vendor-sys/illumos/dist/uts/common/fs/zfs/spa_misc.c
  vendor-sys/illumos/dist/uts/common/fs/zfs/sys/spa.h

Changes in other areas also in this revision:
Modified:
  vendor/illumos/dist/cmd/ztest/ztest.c

Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/spa_misc.c
==============================================================================
--- vendor-sys/illumos/dist/uts/common/fs/zfs/spa_misc.c        Mon Jun  3 
17:06:02 2019        (r348552)
+++ vendor-sys/illumos/dist/uts/common/fs/zfs/spa_misc.c        Mon Jun  3 
17:08:49 2019        (r348553)
@@ -222,9 +222,6 @@
  * vdev state is protected by spa_vdev_state_enter() / spa_vdev_state_exit().
  * Like spa_vdev_enter/exit, these are convenience wrappers -- the actual
  * locking is, always, based on spa_namespace_lock and spa_config_lock[].
- *
- * spa_rename() is also implemented within this file since it requires
- * manipulation of the namespace.
  */
 
 static avl_tree_t spa_namespace_avl;
@@ -1331,56 +1328,6 @@ spa_deactivate_mos_feature(spa_t *spa, const char *fea
 {
        if (nvlist_remove_all(spa->spa_label_features, feature) == 0)
                vdev_config_dirty(spa->spa_root_vdev);
-}
-
-/*
- * Rename a spa_t.
- */
-int
-spa_rename(const char *name, const char *newname)
-{
-       spa_t *spa;
-       int err;
-
-       /*
-        * Lookup the spa_t and grab the config lock for writing.  We need to
-        * actually open the pool so that we can sync out the necessary labels.
-        * It's OK to call spa_open() with the namespace lock held because we
-        * allow recursive calls for other reasons.
-        */
-       mutex_enter(&spa_namespace_lock);
-       if ((err = spa_open(name, &spa, FTAG)) != 0) {
-               mutex_exit(&spa_namespace_lock);
-               return (err);
-       }
-
-       spa_config_enter(spa, SCL_ALL, FTAG, RW_WRITER);
-
-       avl_remove(&spa_namespace_avl, spa);
-       (void) strlcpy(spa->spa_name, newname, sizeof (spa->spa_name));
-       avl_add(&spa_namespace_avl, spa);
-
-       /*
-        * Sync all labels to disk with the new names by marking the root vdev
-        * dirty and waiting for it to sync.  It will pick up the new pool name
-        * during the sync.
-        */
-       vdev_config_dirty(spa->spa_root_vdev);
-
-       spa_config_exit(spa, SCL_ALL, FTAG);
-
-       txg_wait_synced(spa->spa_dsl_pool, 0);
-
-       /*
-        * Sync the updated config cache.
-        */
-       spa_write_cachefile(spa, B_FALSE, B_TRUE);
-
-       spa_close(spa, FTAG);
-
-       mutex_exit(&spa_namespace_lock);
-
-       return (0);
 }
 
 /*

Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/sys/spa.h
==============================================================================
--- vendor-sys/illumos/dist/uts/common/fs/zfs/sys/spa.h Mon Jun  3 17:06:02 
2019        (r348552)
+++ vendor-sys/illumos/dist/uts/common/fs/zfs/sys/spa.h Mon Jun  3 17:08:49 
2019        (r348553)
@@ -821,7 +821,6 @@ extern void spa_load_note(spa_t *spa, const char *fmt,
 extern void spa_activate_mos_feature(spa_t *spa, const char *feature,
     dmu_tx_t *tx);
 extern void spa_deactivate_mos_feature(spa_t *spa, const char *feature);
-extern int spa_rename(const char *oldname, const char *newname);
 extern spa_t *spa_by_guid(uint64_t pool_guid, uint64_t device_guid);
 extern boolean_t spa_guid_exists(uint64_t pool_guid, uint64_t device_guid);
 extern char *spa_strdup(const char *);
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "[email protected]"

Reply via email to