diff options
author | Tom Caputi <[email protected]> | 2019-09-05 19:22:05 -0400 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2019-09-05 16:22:05 -0700 |
commit | 870e7a52c105f26ef4254b90230d396f4ce39ea7 (patch) | |
tree | 9fafd980d77c6a6e0801108316656536fb315f7e /module/zfs/vdev_missing.c | |
parent | 8e2c502cf3f54201a75e5b8ea983358f2b9939f9 (diff) |
Fix noop receive of raw send stream
Currently, the noop receive code fails to work with raw send streams
and resuming send streams. This happens because zfs_receive_impl()
reads the DRR_BEGIN payload without reading the payload itself.
Normally, the kernel expects to read this itself, but in this case
the recv_skip() code runs instead and it is not prepared to handle
the stream being left at any place other than the beginning of a
record.
This patch resolves this issue by manually reading the DRR_BEGIN
payload in the dry-run case. This patch also includes a number of
small fixups in this code path.
Reviewed-by: George Melikov <[email protected]>
Reviewed-by: Brian Behlendorf <[email protected]>
Reviewed-by: Paul Dagnelie <[email protected]>
Signed-off-by: Tom Caputi <[email protected]>
Closes #9221
Closes #9173
Diffstat (limited to 'module/zfs/vdev_missing.c')
0 files changed, 0 insertions, 0 deletions