linux/fs/fuse
Miklos Szeredi 75850be9ed fuse: fix READDIRPLUS skipping an entry
commit c6cdd51404 upstream.

Marios Titas running a Haskell program noticed a problem with fuse's
readdirplus: when it is interrupted by a signal, it skips one directory
entry.

The reason is that fuse erronously updates ctx->pos after a failed
dir_emit().

The issue originates from the patch adding readdirplus support.

Reported-by: Jakob Unterwurzacher <jakobunt@gmail.com>
Tested-by: Marios Titas <redneb@gmx.com>
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
Fixes: 0b05b18381 ("fuse: implement NFS-like readdirplus support")
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
History 2018-01-01 20:51:59 +00:00
..
control.c fuse: add __exit to fuse_ctl_cleanup 2014-04-28 14:19:21 +02:00
cuse.c fuse: pull iov_iter initializations up 2014-05-06 17:32:51 -04:00
dev.c fuse: set stolen page uptodate 2015-03-30 11:10:41 +01:00
dir.c fuse: fix READDIRPLUS skipping an entry 2018-01-01 20:51:59 +00:00
file.c fuse: initialize the flock flag in fuse_file on allocation 2017-11-11 13:32:52 +00:00
fuse_i.h fuse: Propagate dentry down to inode_change_ok() 2017-02-23 03:53:52 +00:00
inode.c fuse: fix wrong assignment of ->flags in fuse_send_init() 2016-11-20 01:17:01 +00:00
Kconfig fuse: Move CUSE Kconfig entry from fs/Kconfig into fs/fuse/Kconfig 2013-01-17 13:08:45 +01:00
Makefile CUSE: implement CUSE - Character device in Userspace 2009-06-09 11:24:11 +02:00