freebsd-dev/sys/fs/devfs
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
..
devfs_devs.c
devfs_dir.c
devfs_int.h
devfs_rule.c
devfs_vfsops.c
devfs_vnops.c Extend the KPI to lock and unlock f_offset member of struct file. It 2012-07-02 21:01:03 +00:00
devfs.h