]> granicus.if.org Git - zfs/commitdiff
OpenZFS 7253 - ztest failure: dsl_destroy_head(name) == 0 (0x10 == 0x0), file .....
authorGeorge Melikov <mail@gmelikov.ru>
Thu, 26 Jan 2017 20:32:36 +0000 (23:32 +0300)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Thu, 26 Jan 2017 20:32:36 +0000 (12:32 -0800)
Authored by: Chris Williamson <chris.williamson@delphix.com>
Reviewed by: - Matthew Ahrens <mahrens@delphix.com>
Reviewed by: - Paul Dagnelie <pcd@delphix.com>
Approved by: - Robert Mustacchi <rm@joyent.com>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Giuseppe Di Natale <dinatale2@llnl.gov>
Ported-by: George Melikov <mail@gmelikov.ru>
OpenZFS-issue: https://www.illumos.org/issues/7253
OpenZFS-commit: https://github.com/openzfs/openzfs/commit/754998c
Closes #5660

cmd/ztest/ztest.c

index 8d5ee0bad3449635f9d0004df7fc856c05346781..3b504e7913f57266da87d605bd2888fca654422e 100644 (file)
@@ -3499,9 +3499,12 @@ ztest_objset_destroy_cb(const char *name, void *arg)
         * Destroy the dataset.
         */
        if (strchr(name, '@') != NULL) {
-               VERIFY0(dsl_destroy_snapshot(name, B_FALSE));
+               VERIFY0(dsl_destroy_snapshot(name, B_TRUE));
        } else {
-               VERIFY0(dsl_destroy_head(name));
+               error = dsl_destroy_head(name);
+               /* There could be a hold on this dataset */
+               if (error != EBUSY)
+                       ASSERT0(error);
        }
        return (0);
 }