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>
OS-5291 lxbrand inotify02 LTP regression
Reviewed by: Patrick Mooney <patrick.mooney@joyent.com>
OS-3294 add support for inotify
Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com>
Reviewed by: Robert Mustacchi <rm@joyent.com>
@@ -19,11 +19,11 @@
* CDDL HEADER END
*/
/*
* Copyright (c) 1984, 2010, Oracle and/or its affiliates. All rights reserved.
- * Copyright 2015, Joyent, Inc.
+ * Copyright 2016, Joyent, Inc.
*/
/* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */
/* All Rights Reserved */
@@ -2191,13 +2191,18 @@
if (error) {
rw_enter(&ip->i_contents, RW_WRITER);
goto update_inode;
}
- if (error == 0 && vap->va_size)
+ if (error == 0) {
+ if (vap->va_size) {
vnevent_truncate(vp, ct);
+ } else {
+ vnevent_resize(vp, ct);
}
+ }
+ }
if (ulp) {
trans_size = (int)TOP_SETATTR_SIZE(ip);
TRANS_BEGIN_CSYNC(ufsvfsp, issync, TOP_SETATTR, trans_size);
++dotrans;
@@ -3724,16 +3729,11 @@
DR_RENAME, cr)) == ENOENT)
error = 0;
if (error == 0) {
vnevent_rename_src(ITOV(sip), sdvp, snm, ct);
- /*
- * Notify the target directory of the rename event
- * if source and target directories are not the same.
- */
- if (sdvp != tdvp)
- vnevent_rename_dest_dir(tdvp, ct);
+ vnevent_rename_dest_dir(tdvp, ITOV(sip), tnm, ct);
}
errout:
if (slot.fbp)
fbrelse(slot.fbp, S_OTHER);
@@ -4476,12 +4476,17 @@
ULOCKFS_SPACE_MASK);
if (error)
return (error);
error = ufs_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);
+ }
+ }
} else if (cmd == F_ALLOCSP) {
error = ufs_lockfs_begin(ufsvfsp, &ulp,
ULOCKFS_FALLOCATE_MASK);
if (error)
return (error);