freebsd-skq/sys/fs
Konstantin Belousov 1c4ca77890 Add d_off support for multiple filesystems.
The d_off field has been added to the dirent structure recently.
Currently filesystems don't support this feature.  Support has been
added and tested for zfs, ufs, ext2fs, fdescfs, msdosfs and unionfs.
A stub implementation is available for cd9660, nandfs, udf and
pseudofs but hasn't been tested.

Motivation for this feature: our usecase is for a userspace nfs server
(nfs-ganesha) with zfs.  At the moment we cache direntry offsets by
calling lseek once per entry, with this patch we can get the offset
directly from getdirentries(2) calls which provides a significant
speedup.

Submitted by:	Jack Halford <jack@gandi.net>
Reviewed by:	mckusick, pfg, rmacklem (previous versions)
Sponsored by:	Gandi.net
MFC after:	1 week
Differential revision:	https://reviews.freebsd.org/D17917
2018-11-14 14:18:35 +00:00
..
autofs Add SPDX tags to autofs(5). 2018-01-24 16:40:26 +00:00
cd9660 Add d_off support for multiple filesystems. 2018-11-14 14:18:35 +00:00
cuse Use NULL for SYSINIT's last arg, which is a pointer type 2018-05-18 17:58:09 +00:00
deadfs sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
devfs Add d_off support for multiple filesystems. 2018-11-14 14:18:35 +00:00
ext2fs Add d_off support for multiple filesystems. 2018-11-14 14:18:35 +00:00
fdescfs Add d_off support for multiple filesystems. 2018-11-14 14:18:35 +00:00
fifofs Rework pathconf handling for FIFOs. 2017-12-19 22:39:05 +00:00
fuse Make vop_symlink take a const target path. 2018-11-02 14:42:36 +00:00
msdosfs Add d_off support for multiple filesystems. 2018-11-14 14:18:35 +00:00
nandfs Add d_off support for multiple filesystems. 2018-11-14 14:18:35 +00:00
nfs Make vop_symlink take a const target path. 2018-11-02 14:42:36 +00:00
nfsclient Change nfs_advlock() so that the NFSVOPUNLOCK() is mostly done at the end. 2018-11-06 22:50:50 +00:00
nfsserver nfsrvd_readdirplus: for some errors, do not fail the entire request 2018-10-22 15:33:05 +00:00
nullfs Make it easier for filesystems to count themselves as jail-enabled, 2018-05-04 20:54:27 +00:00
procfs Make it easier for filesystems to count themselves as jail-enabled, 2018-05-04 20:54:27 +00:00
pseudofs Add d_off support for multiple filesystems. 2018-11-14 14:18:35 +00:00
smbfs Use long for the last argument to VOP_PATHCONF rather than a register_t. 2018-01-17 22:36:58 +00:00
tmpfs Make vop_symlink take a const target path. 2018-11-02 14:42:36 +00:00
udf Add d_off support for multiple filesystems. 2018-11-14 14:18:35 +00:00
unionfs sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00