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 */