NetBSD/sys/fs
manu 96c935e33b Add a mutex for operations that touch size (setattr, getattr, write, fsync).
This is required to avoid data corruption bugs, where a getattr slices
itself within a setattr operation, and sets the size to the stall value
it got from the filesystem. That value is smaller than the one set by
setattr, and the call to uvm_vnp_setsize() trigged a spurious truncate.
The result is a chunk of zeroed data in the file.

Such a situation can easily happen when the ioflush thread issue a
VOP_FSYNC/puffs_vnop_sync/flushvncache/dosetattrn while andother process
do a sys_stat/VOP_GETATTR/puffs_vnop_getattr.

This mutex on size operation can be removed the day we decide VOP_GETATTR
has to operated on a locked vnode, since the other operations that touch
size already require that.
2011-08-29 04:12:45 +00:00
..
adosfs Welcome to 5.99.53! Merge rmind-uvmplock branch: 2011-06-12 03:35:36 +00:00
cd9660 Welcome to 5.99.53! Merge rmind-uvmplock branch: 2011-06-12 03:35:36 +00:00
efs Welcome to 5.99.53! Merge rmind-uvmplock branch: 2011-06-12 03:35:36 +00:00
filecorefs Welcome to 5.99.53! Merge rmind-uvmplock branch: 2011-06-12 03:35:36 +00:00
hfs Retire varargs.h support. Move machine/stdarg.h logic into MI 2011-07-17 20:54:30 +00:00
msdosfs Even though msdosfs never truncates file names it advertises _PC_NO_TRUNC 2011-07-20 11:52:00 +00:00
nilfs - Fix a silly bug: remove umap from uobj in ubc_release() UBC_UNMAP case. 2011-06-19 02:42:53 +00:00
ntfs dependant -> dependent 2011-06-30 20:09:15 +00:00
ptyfs Welcome to 5.99.53! Merge rmind-uvmplock branch: 2011-06-12 03:35:36 +00:00
puffs Add a mutex for operations that touch size (setattr, getattr, write, fsync). 2011-08-29 04:12:45 +00:00
smbfs Welcome to 5.99.53! Merge rmind-uvmplock branch: 2011-06-12 03:35:36 +00:00
sysvbfs Add function name to a few debug messages. 2011-07-13 19:51:29 +00:00
tmpfs Finish and enable whiteout support for tmpfs: 2011-08-27 15:32:28 +00:00
udf Fix some typos. 2011-08-16 14:29:16 +00:00
union Print the warning message on mount once. 2011-08-28 08:27:57 +00:00
unionfs Welcome to 5.99.53! Merge rmind-uvmplock branch: 2011-06-12 03:35:36 +00:00
v7fs Rename all static functions to have "v7fs_" prefix. Fixes a problem 2011-08-14 09:02:07 +00:00
Makefile 7th Edition(V7) File System support. and NetBSD symbolic-link, socket, FIFO extension. see newfs_v7fs(8). 2011-06-27 11:52:22 +00:00
unicode.h