equal
deleted
inserted
replaced
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); |