# HG changeset patch # User Simon Klinkert # Date 1340374670 14400 # Node ID 9f1d48e1681fa9de840114a721702c526e0ee567 # Parent 1c48a05ba37dffdcf2ba9698f7f40b74e5cb29b7 2901 ZFS receive fails for exabyte sparse files Reviewed by: Matthew Ahrens Approved by: Dan McDonald diff -r 1c48a05ba37d -r 9f1d48e1681f usr/src/uts/common/fs/zfs/dmu_send.c --- a/usr/src/uts/common/fs/zfs/dmu_send.c Wed Jun 20 15:11:05 2012 -0400 +++ b/usr/src/uts/common/fs/zfs/dmu_send.c Fri Jun 22 10:17:50 2012 -0400 @@ -77,6 +77,9 @@ { struct drr_free *drrf = &(dsp->dsa_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