On Wed, Oct 19, 2016 at 11:01 AM, Miklos Szeredi <miklos@xxxxxxxxxx> wrote: > On Wed, Oct 19, 2016 at 7:53 AM, Amir Goldstein <amir73il@xxxxxxxxx> wrote: >> On Wed, Oct 19, 2016 at 4:51 AM, Nikolaus Rath <Nikolaus@xxxxxxxx> wrote: > >>> Really no one able to clarify the difference between the FUSE invalidate >>> and delete dentry requests? >> >> It may sound strange to you, but I think the documentation is clear enough. >> The difference is that in delete case, you *know* that the entry has >> been deleted >> and in invalidate case, you may not know what happened to the entry. >> The specific use cases are implementation specific, but maybe you lost >> contact with remote server or maybe the remote protocol imposes a timeout >> for validity or maybe you do not have enough information >> to figure out if the entry has been deleted and re-created. >> Invalidate simply means that you no longer know that the entry is valid. > > That was the intent, yes. However 'invalidate' + 'lookup negative' > should be equivalent to 'delete'. And it is. > > The reason why 'delete' was introduced by commit 451d0f599934 ("FUSE: > Notifying the kernel of deletion.") is that 'invalidate' wasn't able > to remove in-use subtrees. > > Commit bafc9b754f75 ("vfs: More precise tests in d_invalidate") > changed that, so now 'notify_delete' is superfluous and AFAICS the > effect of it is exactly the same as 'notify_invalidate'. > Minus fsnotify_nameremove() for whatever it is worth. Amir. -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html