• Miklos Szeredi's avatar
    fuse: fix nlink after unlink · ac45d613
    Miklos Szeredi authored
    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: default avatarAnand Avati <avati@redhat.com>
    Signed-off-by: default avatarMiklos Szeredi <mszeredi@suse.cz>
    ac45d613
dir.c 41.3 KB