Print this page
3484 enhance and document tail follow support
Reviewed by: Joshua M. Clulow <jmc@joyent.com>
*** 23,32 ****
--- 23,36 ----
*
* Copyright (c) 1983,1984,1985,1986,1987,1988,1989 AT&T.
* All rights reserved.
*/
+ /*
+ * Copyright (c) 2013, Joyent, Inc. All rights reserved.
+ */
+
#include <sys/param.h>
#include <sys/types.h>
#include <sys/systm.h>
#include <sys/cred.h>
#include <sys/time.h>
*** 2028,2048 ****
if (!(error = VOP_ACCESS(vp, mode, 0, cr, ct))) {
if ((vattr.va_mask & AT_SIZE) &&
vp->v_type == VREG) {
vattr.va_mask = AT_SIZE;
error = nfssetattr(vp, &vattr, 0, cr);
}
}
}
nfs_rw_exit(&drp->r_rwlock);
if (error) {
VN_RELE(vp);
} else {
- /*
- * existing file got truncated, notify.
- */
- vnevent_create(vp, ct);
*vpp = vp;
}
return (error);
}
--- 2032,2056 ----
if (!(error = VOP_ACCESS(vp, mode, 0, cr, ct))) {
if ((vattr.va_mask & AT_SIZE) &&
vp->v_type == VREG) {
vattr.va_mask = AT_SIZE;
error = nfssetattr(vp, &vattr, 0, cr);
+
+ if (!error) {
+ /*
+ * Existing file was truncated;
+ * emit a create event.
+ */
+ vnevent_create(vp, ct);
}
}
}
+ }
nfs_rw_exit(&drp->r_rwlock);
if (error) {
VN_RELE(vp);
} else {
*vpp = vp;
}
return (error);
}