aboutsummaryrefslogtreecommitdiffstats
path: root/module
diff options
context:
space:
mode:
Diffstat (limited to 'module')
-rw-r--r--module/zfs/dmu_recv.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/module/zfs/dmu_recv.c b/module/zfs/dmu_recv.c
index aaeaa4c34..ed52b25e6 100644
--- a/module/zfs/dmu_recv.c
+++ b/module/zfs/dmu_recv.c
@@ -1217,10 +1217,8 @@ receive_read(dmu_recv_cookie_t *drc, int len, void *buf)
while (done < len) {
ssize_t resid;
- zfs_file_t *fp;
-
- fp = drc->drc_fp;
- drc->drc_err = zfs_file_read(fp, (char *)buf + done,
+ zfs_file_t *fp = drc->drc_fp;
+ int err = zfs_file_read(fp, (char *)buf + done,
len - done, &resid);
if (resid == len - done) {
/*
@@ -1228,12 +1226,12 @@ receive_read(dmu_recv_cookie_t *drc, int len, void *buf)
* that the receive was interrupted and can
* potentially be resumed.
*/
- drc->drc_err = SET_ERROR(ZFS_ERR_STREAM_TRUNCATED);
+ err = SET_ERROR(ZFS_ERR_STREAM_TRUNCATED);
}
drc->drc_voff += len - done - resid;
done = len - resid;
- if (drc->drc_err != 0)
- return (drc->drc_err);
+ if (err != 0)
+ return (err);
}
drc->drc_bytes_read += len;