]> granicus.if.org Git - zfs/commit
Send stream should only list included snaps
authorTom Caputi <tcaputi@datto.com>
Thu, 28 Mar 2019 22:48:58 +0000 (18:48 -0400)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Thu, 28 Mar 2019 22:48:58 +0000 (15:48 -0700)
commitf94b3cbf43d62f4962e71cfe7ba8c6f0602e2a45
tree0324e28b59c93b5b3c1e8edf9b14f567c13cef41
parent5dbf8b4edd5a60b0d043b09aa168e8be1fb30647
Send stream should only list included snaps

Currently, zfs send streams will include a list of all snapshots
on the source side if the '-p' option is provided. This can cause
performance problems on the receive side, especially if those
snapshots aren't present on the destination. These problems arise
because guid_to_name(), which is used for several receive side
functions, will search the entire receive-side pool if it can't
find a snapshot with a matching guid. This patch corrects the
issue by ensuring only streams that require this list of snapshots
include them.

Reviewed-by: Alek Pinchuk <apinchuk@datto.com>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Matt Ahrens <mahrens@delphix.com>
Signed-off-by: Tom Caputi <tcaputi@datto.com>
Closes #8533
lib/libzfs/libzfs_sendrecv.c