freebsd-skq/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 Merge si_name and __si_namebuf. 2012-02-10 12:40:50 +00:00
devfs_dir.c Add reference counting for devfs paths containing user created symbolic 2010-09-27 17:47:09 +00:00
devfs_int.h Format prototypes to follow style(9) more closely. 2010-10-12 15:58:52 +00:00
devfs_rule.c Introduce the "ruleset=number" option for devfs(5) mounts. 2012-02-09 10:09:12 +00:00
devfs_vfsops.c Add "export" to devfs_opts[] and return EOPNOTSUPP if called with it. 2012-02-29 16:16:36 +00:00
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 Introduce the "ruleset=number" option for devfs(5) mounts. 2012-02-09 10:09:12 +00:00