usr/src/uts/common/fs/zfs/zfs_znode.c
changeset 1936 b6ded90e4d4b
parent 1878 c22df0f5603f
child 2113 0510bb40c993
equal deleted inserted replaced
1935:bcefcd522191 1936:b6ded90e4d4b
  1004 	if (end > size || len == 0)
  1004 	if (end > size || len == 0)
  1005 		zp->z_phys->zp_size = end;
  1005 		zp->z_phys->zp_size = end;
  1006 
  1006 
  1007 	if (off < size) {
  1007 	if (off < size) {
  1008 		objset_t *os = zfsvfs->z_os;
  1008 		objset_t *os = zfsvfs->z_os;
       
  1009 		uint64_t rlen = len;
  1009 
  1010 
  1010 		if (len == 0)
  1011 		if (len == 0)
  1011 			len = -1;
  1012 			rlen = -1;
  1012 		else if (end > size)
  1013 		else if (end > size)
  1013 			len = size - off;
  1014 			rlen = size - off;
  1014 		VERIFY(0 == dmu_free_range(os, zp->z_id, off, len, tx));
  1015 		VERIFY(0 == dmu_free_range(os, zp->z_id, off, rlen, tx));
  1015 	}
  1016 	}
  1016 
  1017 
  1017 	if (log) {
  1018 	if (log) {
  1018 		zfs_time_stamper(zp, CONTENT_MODIFIED, tx);
  1019 		zfs_time_stamper(zp, CONTENT_MODIFIED, tx);
  1019 		seq = zfs_log_truncate(zilog, tx, TX_TRUNCATE, zp, off, len);
  1020 		seq = zfs_log_truncate(zilog, tx, TX_TRUNCATE, zp, off, len);