Module Name: src Committed By: martin Date: Fri Feb 27 19:39:56 UTC 2015
Modified Files: src/lib/libperfuse [netbsd-7]: ops.c perfuse.c src/lib/libpuffs [netbsd-7]: puffs.3 src/sys/fs/puffs [netbsd-7]: puffs_msgif.h puffs_sys.h puffs_vfsops.c puffs_vnops.c Log Message: Pull up following revision(s) (requested by manu in ticket #555): lib/libpuffs/puffs.3: revision 1.60 sys/fs/puffs/puffs_msgif.h: revision 1.84 lib/libperfuse/ops.c: revision 1.83 sys/fs/puffs/puffs_sys.h: revision 1.89 sys/fs/puffs/puffs_vfsops.c: revision 1.116 lib/libperfuse/perfuse.c: revision 1.36 sys/fs/puffs/puffs_vnops.c: revision 1.200-1.202 Add PUFFS_KFLAG_NOFLUSH_META to prevent sending metadata flush to FUSE FUSE filesystems do not expect to get metadata updates for [amc]time and size, they updates the value on their own after operations. The PUFFS PUFFS_KFLAG_NOFLUSH_META option prevents regular metadata cache flushes to the filesystem , and libperfuse uses it to match Linux FUSE behavior. While there, fix a bug in SETATTR: do not update kernel metadata cache from SETATTR reply when the request is asynchronous, as we do not have the reply yet. Update file size after write without metadata flush If we do not use metadata flush, we must make sure the size is updated in the filesystem after a write, otherwise the next GETATTR will get us a stale value and the file will be truncated. To generate a diff of this commit: cvs rdiff -u -r1.66.2.14 -r1.66.2.15 src/lib/libperfuse/ops.c cvs rdiff -u -r1.31.10.3 -r1.31.10.4 src/lib/libperfuse/perfuse.c cvs rdiff -u -r1.59 -r1.59.4.1 src/lib/libpuffs/puffs.3 cvs rdiff -u -r1.80.14.2 -r1.80.14.3 src/sys/fs/puffs/puffs_msgif.h cvs rdiff -u -r1.84.4.2 -r1.84.4.3 src/sys/fs/puffs/puffs_sys.h cvs rdiff -u -r1.113.2.2 -r1.113.2.3 src/sys/fs/puffs/puffs_vfsops.c cvs rdiff -u -r1.182.2.12 -r1.182.2.13 src/sys/fs/puffs/puffs_vnops.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.