linux-hardened/fs/fuse
Miklos Szeredi ac45d61357 fuse: fix nlink after unlink
Anand Avati reports that the following sequence of system calls fail on a fuse
filesystem:


 	create("filename") => 0
 	link("filename", "linkname") => 0
 	unlink("filename") => 0
 	link("linkname", "filename") => -ENOENT ### BUG ###

vfs_link() fails with ENOENT if i_nlink is zero, this is done to prevent
resurrecting already deleted files.

Fuse clears i_nlink on unlink even if there are other links pointing to the
file.

Reported-by: Anand Avati <avati@redhat.com>
Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
2012-03-05 15:48:11 +01:00
..
control.c filesystems: add set_nlink() 2011-11-02 12:53:43 +01:00
cuse.c fs: add module.h to files that were implicitly using it 2011-10-31 19:30:31 -04:00
dev.c FUSE: Notifying the kernel of deletion. 2011-12-13 11:58:49 +01:00
dir.c fuse: fix nlink after unlink 2012-03-05 15:48:11 +01:00
file.c fuse: support ioctl on directories 2011-12-13 11:58:49 +01:00
fuse_i.h Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse 2012-01-12 12:39:21 -08:00
inode.c vfs: switch ->show_options() to struct dentry * 2012-01-06 23:19:54 -05:00
Kconfig fs/Kconfig: move fuse out 2009-01-22 13:15:55 +03:00
Makefile CUSE: implement CUSE - Character device in Userspace 2009-06-09 11:24:11 +02:00