mmp should use a fixed tag for spa_config locks
mmp_write_uberblock() and mmp_write_done() should the same tag for spa_config_locks. Reviewed-by: Olaf Faaland <faaland1@llnl.gov> Reviewed-by: Giuseppe Di Natale <dinatale2@llnl.gov> Reviewed by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Sanjeev Bagewadi <sanjeev.bagewadi@gmail.com> Closes #6530 Closes #7155
This commit is contained in:
parent
b3da003ebf
commit
d85011ed69
|
@ -125,6 +125,7 @@ uint_t zfs_multihost_import_intervals = MMP_DEFAULT_IMPORT_INTERVALS;
|
||||||
uint_t zfs_multihost_fail_intervals = MMP_DEFAULT_FAIL_INTERVALS;
|
uint_t zfs_multihost_fail_intervals = MMP_DEFAULT_FAIL_INTERVALS;
|
||||||
|
|
||||||
static void mmp_thread(spa_t *spa);
|
static void mmp_thread(spa_t *spa);
|
||||||
|
char *mmp_tag = "mmp_write_uberblock";
|
||||||
|
|
||||||
void
|
void
|
||||||
mmp_init(spa_t *spa)
|
mmp_init(spa_t *spa)
|
||||||
|
@ -278,7 +279,7 @@ mmp_write_done(zio_t *zio)
|
||||||
|
|
||||||
unlock:
|
unlock:
|
||||||
mutex_exit(&mts->mmp_io_lock);
|
mutex_exit(&mts->mmp_io_lock);
|
||||||
spa_config_exit(spa, SCL_STATE, FTAG);
|
spa_config_exit(spa, SCL_STATE, mmp_tag);
|
||||||
|
|
||||||
abd_free(zio->io_abd);
|
abd_free(zio->io_abd);
|
||||||
}
|
}
|
||||||
|
@ -314,7 +315,7 @@ mmp_write_uberblock(spa_t *spa)
|
||||||
int label;
|
int label;
|
||||||
uint64_t offset;
|
uint64_t offset;
|
||||||
|
|
||||||
spa_config_enter(spa, SCL_STATE, FTAG, RW_READER);
|
spa_config_enter(spa, SCL_STATE, mmp_tag, RW_READER);
|
||||||
vd = mmp_random_leaf(spa->spa_root_vdev);
|
vd = mmp_random_leaf(spa->spa_root_vdev);
|
||||||
if (vd == NULL) {
|
if (vd == NULL) {
|
||||||
spa_config_exit(spa, SCL_STATE, FTAG);
|
spa_config_exit(spa, SCL_STATE, FTAG);
|
||||||
|
|
Loading…
Reference in New Issue