summaryrefslogtreecommitdiff
path: root/usr/src/lib/libzfs/common/libzfs_dataset.c
diff options
context:
space:
mode:
authorChris Kirby <Chris.Kirby@sun.com>2010-02-17 11:41:36 -0700
committerChris Kirby <Chris.Kirby@sun.com>2010-02-17 11:41:36 -0700
commitc6fd73aef3b5f165501d5c8b95eb1d5a6837e4a5 (patch)
tree0752a45029adaa29c97d3ecb4bc377a1b5a39bae /usr/src/lib/libzfs/common/libzfs_dataset.c
parenta4ff181df695c8cbecc6fdab541a409f38165151 (diff)
downloadillumos-joyent-c6fd73aef3b5f165501d5c8b95eb1d5a6837e4a5.tar.gz
6885979 zfs_send -R fails to send snapshots that get renamed during the operation
6926290 zfs_hold_range() should handle fromsnap == NULL 6926291 In zfs_send(), errno can get clobbered before we use it
Diffstat (limited to 'usr/src/lib/libzfs/common/libzfs_dataset.c')
-rw-r--r--usr/src/lib/libzfs/common/libzfs_dataset.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/usr/src/lib/libzfs/common/libzfs_dataset.c b/usr/src/lib/libzfs/common/libzfs_dataset.c
index 0f131a949f..bd63372301 100644
--- a/usr/src/lib/libzfs/common/libzfs_dataset.c
+++ b/usr/src/lib/libzfs/common/libzfs_dataset.c
@@ -4078,6 +4078,7 @@ zfs_hold_range(zfs_handle_t *zhp, const char *fromsnap, const char *tosnap,
arg.temphold = temphold;
arg.holding = B_TRUE;
arg.recursive = recursive;
+ arg.seenfrom = (fromsnap == NULL);
error = zfs_iter_snapshots_sorted(zhp, zfs_hold_range_one, &arg);
@@ -4147,6 +4148,7 @@ zfs_release_range(zfs_handle_t *zhp, const char *fromsnap, const char *tosnap,
arg.tosnap = tosnap;
arg.tag = tag;
arg.recursive = recursive;
+ arg.seenfrom = (fromsnap == NULL);
return (zfs_iter_snapshots_sorted(zhp, zfs_hold_range_one, &arg));
}