freebsd-skq/sys/fs/msdosfs
kib 7d33ec3750 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
..
bootsect.h msdosfs: use C99 types 2017-05-19 18:13:41 +00:00
bpb.h msdosfs: use C99 types 2017-05-19 18:13:41 +00:00
denode.h msdosfs: use same max filesize #define as NetBSD and move to header 2018-07-30 20:36:51 +00:00
direntry.h Revert msdosfs MAKEFS #ifdef changes from r319870 2018-07-24 21:10:17 +00:00
fat.h Revert msdosfs MAKEFS #ifdef changes from r319870 2018-07-24 21:10:17 +00:00
msdosfs_conv.c msdosfs: trim EOL whitespace 2018-07-31 12:44:28 +00:00
msdosfs_denode.c msdosfs: trim EOL whitespace 2018-07-31 12:44:28 +00:00
msdosfs_fat.c msdosfs: fixes for Undefined Behavior. 2018-08-08 15:08:22 +00:00
msdosfs_iconv.c sys/fs: further adoption of SPDX licensing ID tags. 2017-11-27 15:15:37 +00:00
msdosfs_lookup.c msdosfs: trim EOL whitespace 2018-07-31 12:44:28 +00:00
msdosfs_vfsops.c msdosfs: trim EOL whitespace 2018-07-31 12:44:28 +00:00
msdosfs_vnops.c Add d_off support for multiple filesystems. 2018-11-14 14:18:35 +00:00
msdosfsmount.h sys/fs: further adoption of SPDX licensing ID tags. 2017-11-27 15:15:37 +00:00