summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormm <mm@FreeBSD.org>2013-03-19 22:27:15 +0000
committermm <mm@FreeBSD.org>2013-03-19 22:27:15 +0000
commit18a8e19d913846ad35de8779b4d4c1bfb73e911a (patch)
tree2e8ea0fd6f8ae3cb52acff7505f63d462533d097
parente3be864a3f6e9be93a76b0a36ba9596d73ce6f61 (diff)
downloadFreeBSD-src-18a8e19d913846ad35de8779b4d4c1bfb73e911a.zip
FreeBSD-src-18a8e19d913846ad35de8779b4d4c1bfb73e911a.tar.gz
Run zvol_create_minors() only if in non-error case
-rw-r--r--sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c
index d224326..1a6a060 100644
--- a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c
+++ b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c
@@ -1289,10 +1289,12 @@ dsl_dataset_snapshot(nvlist_t *snaps, nvlist_t *props, nvlist_t *errors)
#ifdef __FreeBSD__
#ifdef _KERNEL
- for (pair = nvlist_next_nvpair(snaps, NULL); pair != NULL;
- pair = nvlist_next_nvpair(snaps, pair)) {
- char *snapname = nvpair_name(pair);
- zvol_create_minors(snapname);
+ if (error == 0) {
+ for (pair = nvlist_next_nvpair(snaps, NULL); pair != NULL;
+ pair = nvlist_next_nvpair(snaps, pair)) {
+ char *snapname = nvpair_name(pair);
+ zvol_create_minors(snapname);
+ }
}
#endif
#endif
OpenPOWER on IntegriCloud