freebsd-dev/sys/ufs/ffs
Konstantin Belousov c5c1199c83 Extend the KPI to lock and unlock f_offset member of struct file. It
now fully encapsulates all accesses to f_offset, and extends f_offset
locking to other consumers that need it, in particular, to lseek() and
variants of getdirentries().

Ensure that on 32bit architectures f_offset, which is 64bit quantity,
always read and written under the mtxpool protection. This fixes
apparently easy to trigger race when parallel lseek()s or lseek() and
read/write could destroy file offset.

The already broken ABI emulations, including iBCS and SysV, are not
converted (yet).

Tested by:	pho
No objections from:	jhb
MFC after:    3 weeks
2012-07-02 21:01:03 +00:00
..
ffs_alloc.c Extend the KPI to lock and unlock f_offset member of struct file. It 2012-07-02 21:01:03 +00:00
ffs_balloc.c Add a third flags argument to ffs_syncvnode to avoid a possible conflict 2012-03-25 00:02:37 +00:00
ffs_extern.h Remove unused thread argument from vtruncbuf(). 2012-04-23 13:21:28 +00:00
ffs_inode.c Remove unused thread argument from vtruncbuf(). 2012-04-23 13:21:28 +00:00
ffs_rawread.c Add a third flags argument to ffs_syncvnode to avoid a possible conflict 2012-03-25 00:02:37 +00:00
ffs_snapshot.c Remove unused thread argument from vtruncbuf(). 2012-04-23 13:21:28 +00:00
ffs_softdep.c In softdep_setup_inomapdep() we may have to allocate both inodedep 2012-06-11 23:07:21 +00:00
ffs_subr.c
ffs_tables.c
ffs_vfsops.c Enable vn_io_fault() lock avoidance for UFS. 2012-05-30 16:45:41 +00:00
ffs_vnops.c Fix unbounded-length malloc, controlled from usermode. The added check 2012-06-21 09:20:07 +00:00
fs.h
softdep.h