diff options
author | Chris Kirby <Chris.Kirby@sun.com> | 2010-02-17 11:41:36 -0700 |
---|---|---|
committer | Chris Kirby <Chris.Kirby@sun.com> | 2010-02-17 11:41:36 -0700 |
commit | c6fd73aef3b5f165501d5c8b95eb1d5a6837e4a5 (patch) | |
tree | 0752a45029adaa29c97d3ecb4bc377a1b5a39bae /usr/src/lib/libzfs/common/libzfs_dataset.c | |
parent | a4ff181df695c8cbecc6fdab541a409f38165151 (diff) | |
download | illumos-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.c | 2 |
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)); } |