Print this page
OS-5148 ftruncate at offset should emit proper events
Reviewed by: Bryan Cantrill <bryan@joyent.com>
Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com>
@@ -567,13 +567,16 @@
}
if (error = ud_itrunc(ip, vap->va_size, 0, cr)) {
goto update_inode;
}
- if (vap->va_size == 0)
+ if (vap->va_size == 0) {
vnevent_truncate(vp, ct);
+ } else {
+ vnevent_resize(vp, ct);
}
+ }
/*
* Change file access or modified times.
*/
if (mask & (AT_ATIME|AT_MTIME)) {
mutex_enter(&ip->i_tlock);
@@ -1647,13 +1650,18 @@
if (cmd != F_FREESP) {
error = EINVAL;
} else if ((error = convoff(vp, bfp, 0, offset)) == 0) {
error = ud_freesp(vp, bfp, flag, cr);
- if (error == 0 && bfp->l_start == 0)
+ if (error == 0) {
+ if (bfp->l_start == 0) {
vnevent_truncate(vp, ct);
+ } else {
+ vnevent_resize(vp, ct);
}
+ }
+ }
return (error);
}
/* ARGSUSED */