Changeset View
Changeset View
Standalone View
Standalone View
sys/fs/fuse/fuse_vnops.c
Show First 20 Lines • Show All 801 Lines • ▼ Show 20 Lines | if (err == 0) { | ||||
*ap->a_lenp = fwo->size; | *ap->a_lenp = fwo->size; | ||||
*ap->a_inoffp += fwo->size; | *ap->a_inoffp += fwo->size; | ||||
*ap->a_outoffp += fwo->size; | *ap->a_outoffp += fwo->size; | ||||
fuse_internal_clear_suid_on_write(outvp, outcred, td); | fuse_internal_clear_suid_on_write(outvp, outcred, td); | ||||
if (*ap->a_outoffp > outfvdat->cached_attrs.va_size) { | if (*ap->a_outoffp > outfvdat->cached_attrs.va_size) { | ||||
fuse_vnode_setsize(outvp, *ap->a_outoffp, false); | fuse_vnode_setsize(outvp, *ap->a_outoffp, false); | ||||
getnanouptime(&outfvdat->last_local_modify); | getnanouptime(&outfvdat->last_local_modify); | ||||
} | } | ||||
fuse_vnode_update(invp, FN_ATIMECHANGE); | |||||
fuse_vnode_update(outvp, FN_MTIMECHANGE | FN_CTIMECHANGE); | |||||
} | } | ||||
fdisp_destroy(&fdi); | fdisp_destroy(&fdi); | ||||
unlock: | unlock: | ||||
if (invp != outvp) | if (invp != outvp) | ||||
VOP_UNLOCK(invp); | VOP_UNLOCK(invp); | ||||
VOP_UNLOCK(outvp); | VOP_UNLOCK(outvp); | ||||
▲ Show 20 Lines • Show All 2,105 Lines • Show Last 20 Lines |