diff usr/src/uts/common/fs/zfs/dmu_send.c @ 13736:9f1d48e1681f

2901 ZFS receive fails for exabyte sparse files Reviewed by: Matthew Ahrens <mahrens@delphix.com> Approved by: Dan McDonald <danmcd@nexenta.com>
author Simon Klinkert <klinkert@webgods.de>
date Fri, 22 Jun 2012 10:17:50 -0400
parents 2889e2596bd6
children 95aba6e49b9f
line wrap: on
line diff
--- 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