summaryrefslogtreecommitdiff
path: root/usr/src/uts/common/fs/zfs/dsl_destroy.c
diff options
context:
space:
mode:
authorSteven Hartland <smh@freebsd.org>2013-06-11 22:01:53 -0800
committerChristopher Siden <chris.siden@delphix.com>2013-06-11 23:01:53 -0700
commita7a845e4bf22fd1b2a284729ccd95c7370a0438c (patch)
tree761a7618b306660db2217226a0c2e5e6485f9786 /usr/src/uts/common/fs/zfs/dsl_destroy.c
parent3cb69f734bc60bbb4d56a28c83706db862bec082 (diff)
downloadillumos-gate-a7a845e4bf22fd1b2a284729ccd95c7370a0438c.tar.gz
3740 Poor ZFS send / receive performance due to snapshot hold / release processing
Reviewed by: Matthew Ahrens <mahrens@delphix.com> Approved by: Christopher Siden <christopher.siden@delphix.com>
Diffstat (limited to 'usr/src/uts/common/fs/zfs/dsl_destroy.c')
-rw-r--r--usr/src/uts/common/fs/zfs/dsl_destroy.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/usr/src/uts/common/fs/zfs/dsl_destroy.c b/usr/src/uts/common/fs/zfs/dsl_destroy.c
index efa55408fe..e74b53f1aa 100644
--- a/usr/src/uts/common/fs/zfs/dsl_destroy.c
+++ b/usr/src/uts/common/fs/zfs/dsl_destroy.c
@@ -21,6 +21,7 @@
/*
* Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2013 by Delphix. All rights reserved.
+ * Copyright (c) 2013 Steven Hartland. All rights reserved.
*/
#include <sys/zfs_context.h>
@@ -127,6 +128,10 @@ dsl_destroy_snapshot_check(void *arg, dmu_tx_t *tx)
pair = nvlist_next_nvpair(dsda->dsda_errlist, NULL);
if (pair != NULL)
return (fnvpair_value_int32(pair));
+
+ if (nvlist_empty(dsda->dsda_successful_snaps))
+ return (SET_ERROR(ENOENT));
+
return (0);
}