]> git.proxmox.com Git - mirror_zfs.git/commitdiff
Error path in metaslab_load_impl() forgets to drop ms_sync_lock
authorSerapheim Dimitropoulos <serapheimd@gmail.com>
Mon, 25 Feb 2019 19:08:52 +0000 (11:08 -0800)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Mon, 25 Feb 2019 19:08:52 +0000 (11:08 -0800)
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Giuseppe Di Natale <guss80@gmail.com>
Reviewed-by: George Melikov <mail@gmelikov.ru>
Signed-off-by: Serapheim Dimitropoulos <serapheim@delphix.com>
Closes #8444

module/zfs/metaslab.c

index 9f6f0048fcbad4e6688ed835e6a32c124069b504..8380897a9dcc50a6f01b083145510c60247c5b19 100644 (file)
@@ -1682,8 +1682,10 @@ metaslab_load_impl(metaslab_t *msp)
        mutex_enter(&msp->ms_lock);
        ASSERT(!msp->ms_condensing);
 
-       if (error != 0)
+       if (error != 0) {
+               mutex_exit(&msp->ms_sync_lock);
                return (error);
+       }
 
        ASSERT3P(msp->ms_group, !=, NULL);
        msp->ms_loaded = B_TRUE;