Don't set numobjs to UINT64_MAX or near it
Resolves an issue with `zfs send` streams from 0.8.4 which prevents them from being received by versions < 0.7. Reviewed-by: Matthew Ahrens <mahrens@delphix.com> Reviewed-by: Paul Zuchowski <pzuchowski@datto.com> Signed-off-by: Paul Dagnelie <pcd@delphix.com> Closes #10911 Closes #10916
This commit is contained in:
parent
e865e7809e
commit
20dfe8cd3b
|
@ -643,7 +643,7 @@ dump_freeobjects(dmu_send_cookie_t *dscp, uint64_t firstobj, uint64_t numobjs)
|
||||||
* receiving side.
|
* receiving side.
|
||||||
*/
|
*/
|
||||||
if (maxobj > 0) {
|
if (maxobj > 0) {
|
||||||
if (maxobj < firstobj)
|
if (maxobj <= firstobj)
|
||||||
return (0);
|
return (0);
|
||||||
|
|
||||||
if (maxobj < firstobj + numobjs)
|
if (maxobj < firstobj + numobjs)
|
||||||
|
@ -663,8 +663,6 @@ dump_freeobjects(dmu_send_cookie_t *dscp, uint64_t firstobj, uint64_t numobjs)
|
||||||
return (SET_ERROR(EINTR));
|
return (SET_ERROR(EINTR));
|
||||||
dscp->dsc_pending_op = PENDING_NONE;
|
dscp->dsc_pending_op = PENDING_NONE;
|
||||||
}
|
}
|
||||||
if (numobjs == 0)
|
|
||||||
numobjs = UINT64_MAX - firstobj;
|
|
||||||
|
|
||||||
if (dscp->dsc_pending_op == PENDING_FREEOBJECTS) {
|
if (dscp->dsc_pending_op == PENDING_FREEOBJECTS) {
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Reference in New Issue