fuse: support clients that don't implement 'opendir'
authorChad Austin <chadaustin@fb.com>
Tue, 8 Jan 2019 00:53:17 +0000 (16:53 -0800)
committerMiklos Szeredi <mszeredi@redhat.com>
Wed, 13 Feb 2019 12:15:15 +0000 (13:15 +0100)
commitd9a9ea94f748f47b1d75c6c5e33edcf74476c445
tree3da11cb177a59b58ea80d0985b29ceac5e8e5e7e
parent2f7b6f5bed01a3fd2abcc20d2c85b7c532eb95cd
fuse: support clients that don't implement 'opendir'

Allow filesystems to return ENOSYS from opendir, preventing the kernel from
sending opendir and releasedir messages in the future. This avoids
userspace transitions when filesystems don't need to keep track of state
per directory handle.

A new capability flag, FUSE_NO_OPENDIR_SUPPORT, parallels
FUSE_NO_OPEN_SUPPORT, indicating the new semantics for returning ENOSYS
from opendir.

Signed-off-by: Chad Austin <chadaustin@fb.com>
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
fs/fuse/file.c
fs/fuse/fuse_i.h
fs/fuse/inode.c
include/uapi/linux/fuse.h