linux_dsm_epyc7002/include/uapi
Anand V. Avati 0b05b18381 fuse: implement NFS-like readdirplus support
This patch implements readdirplus support in FUSE, similar to NFS.
The payload returned in the readdirplus call contains
'fuse_entry_out' structure thereby providing all the necessary inputs
for 'faking' a lookup() operation on the spot.

If the dentry and inode already existed (for e.g. in a re-run of ls -l)
then just the inode attributes timeout and dentry timeout are refreshed.

With a simple client->network->server implementation of a FUSE based
filesystem, the following performance observations were made:

Test: Performing a filesystem crawl over 20,000 files with

sh# time ls -lR /mnt

Without readdirplus:
Run 1: 18.1s
Run 2: 16.0s
Run 3: 16.2s

With readdirplus:
Run 1: 4.1s
Run 2: 3.8s
Run 3: 3.8s

The performance improvement is significant as it avoided 20,000 upcalls
calls (lookup). Cache consistency is no worse than what already is.

Signed-off-by: Anand V. Avati <avati@redhat.com>
Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
2013-01-24 16:21:25 +01:00
..
asm-generic Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal 2012-12-20 18:05:28 -08:00
drm drm/exynos: consider both case of vflip and hflip. 2013-01-04 15:54:33 +09:00
linux fuse: implement NFS-like readdirplus support 2013-01-24 16:21:25 +01:00
mtd UAPI: (Scripted) Disintegrate include/mtd 2012-10-09 09:49:09 +01:00
rdma UAPI: (Scripted) Disintegrate include/rdma 2012-11-22 00:43:10 -08:00
scsi
sound ALSA: Extend chmap definitions for UAC2 2012-11-26 16:18:59 +01:00
video
xen UAPI: (Scripted) Disintegrate include/xen 2012-10-09 09:49:15 +01:00
Kbuild