linux/fs/fuse
ruanmeisi b8bd342d50 fuse: nlookup missing decrement in fuse_direntplus_link
During our debugging of glusterfs, we found an Assertion failed error:
inode_lookup >= nlookup, which was caused by the nlookup value in the
kernel being greater than that in the FUSE file system.

The issue was introduced by fuse_direntplus_link, where in the function,
fuse_iget increments nlookup, and if d_splice_alias returns failure,
fuse_direntplus_link returns failure without decrementing nlookup
https://github.com/gluster/glusterfs/pull/4081

Signed-off-by: ruanmeisi <ruan.meisi@zte.com.cn>
Fixes: 0b05b18381 ("fuse: implement NFS-like readdirplus support")
Cc: <stable@vger.kernel.org> # v3.9
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
2023-08-16 09:40:48 +02:00
..
acl.c fs.idmapped.v6.3 2023-02-20 11:53:11 -08:00
control.c fuse: Remove the control interface for virtio-fs 2022-07-21 16:06:19 +02:00
cuse.c driver core: class: remove module * from class_create() 2023-03-17 15:16:33 +01:00
dax.c mm: replace vma->vm_flags direct modifications with modifier calls 2023-02-09 16:51:39 -08:00
dev.c fuse_dev_ioctl(): switch to fdget() 2023-04-20 22:55:35 -04:00
dir.c fuse: revalidate: don't invalidate if interrupted 2023-06-07 17:49:20 +02:00
file.c Revert "fuse: in fuse_flush only wait if someone wants the return code" 2023-08-14 16:23:06 +02:00
fuse_i.h fuse update for 6.3 2023-02-27 09:53:58 -08:00
inode.c fuse: Apply flags2 only when userspace set the FUSE_INIT_EXT 2023-06-07 17:49:20 +02:00
ioctl.c fuse: ioctl: translate ENOSYS in outarg 2023-06-21 11:17:36 +02:00
Kconfig dax: remove CONFIG_DAX_DRIVER 2021-12-04 08:58:51 -08:00
Makefile fuse: move ioctl to separate source file 2021-04-12 15:04:30 +02:00
readdir.c fuse: nlookup missing decrement in fuse_direntplus_link 2023-08-16 09:40:48 +02:00
virtio_fs.c dax: enable dax fault handler to report VM_FAULT_HWPOISON 2023-06-26 07:54:23 -06:00
xattr.c fs.idmapped.v6.3 2023-02-20 11:53:11 -08:00