From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from out5-smtp.messagingengine.com ([66.111.4.29]:41381 "EHLO out5-smtp.messagingengine.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751360AbcJIFBP (ORCPT ); Sun, 9 Oct 2016 01:01:15 -0400 From: Nikolaus Rath To: fuse-devel@lists.sourceforge.net, linux-fsdevel@vger.kernel.org Cc: Miklos Szeredi Subject: Difference between invalidating and deleting dentry Date: Sat, 08 Oct 2016 21:37:59 -0700 Message-ID: <87h98mxhlk.fsf@vostro.rath.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Sender: linux-fsdevel-owner@vger.kernel.org List-ID: Hello, I just added an example to FUSE that illustrates use of the fuse_lowlevel_notify_inval_entry() function. However, when writing it I realized that I don't actually fully understand how this function differs from fuse_lowlevel_notify_delete(). Could someone shed some light on this? Currently, the FUSE documentation says: fuse_lowlevel_notify_inval_entry: Notify to invalidate parent attributes and the dentry matching parent/name fuse_lowlevel_notify_delete: Notify to invalidate parent attributes and delete the dentry matching parent/name if the dentry's inode number matches child (otherwise it will invalidate the matching dentry). But what exactly is the difference between deleting and invalidating a dentry? In each case, isn't the resulting behavior the same, in that the next time someone tries to access this (parent_inode,entry_name) combination a lookup() request will be send to the FUSE process? Thanks, -Nikolaus --=20 GPG encrypted emails preferred. Key id: 0xD113FCAC3C4E599F Fingerprint: ED31 791B 2C5C 1613 AF38 8B8A D113 FCAC 3C4E 599F =C2=BBTime flies like an arrow, fruit flies like a Banana.=C2= =AB