diff options
author | Simon Klinkert <[email protected]> | 2012-06-22 10:17:50 -0400 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2012-08-25 12:28:29 -0700 |
commit | c578f007ff9d8ee3d5070960f787fa48d46b7c3c (patch) | |
tree | a00e08e98e762cf991b3759866a77a5b440e757b /module/zfs/dmu_send.c | |
parent | a47587389e98820ea194fd16cd658491f8e4ee31 (diff) |
Illumos #2901: zfs receive fails for exabyte sparse files
Reviewed by: Matthew Ahrens <[email protected]>
Approved by: Dan McDonald <[email protected]>
References:
https://www.illumos.org/issues/2901
Ported by: Martin Matuska <[email protected]>
Signed-off-by: Brian Behlendorf <[email protected]>
Diffstat (limited to 'module/zfs/dmu_send.c')
-rw-r--r-- | module/zfs/dmu_send.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/module/zfs/dmu_send.c b/module/zfs/dmu_send.c index 2f0613211..9f9003744 100644 --- a/module/zfs/dmu_send.c +++ b/module/zfs/dmu_send.c @@ -95,6 +95,9 @@ dump_free(struct backuparg *ba, uint64_t object, uint64_t offset, { struct drr_free *drrf = &(ba->drr->drr_u.drr_free); + if (length != -1ULL && offset + length < offset) + length = -1ULL; + /* * If there is a pending op, but it's not PENDING_FREE, push it out, * since free block aggregation can only be done for blocks of the |