linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Semantics of fuse_notify_delete()
@ 2023-07-26 18:08 Nikolaus Rath
  2023-07-27  8:04 ` Miklos Szeredi
  0 siblings, 1 reply; 15+ messages in thread
From: Nikolaus Rath @ 2023-07-26 18:08 UTC (permalink / raw)
  To: fuse-devel, Linux FS Devel, miklos

Hello,

It seems to me that fuse_notify_delete
(https://elixir.bootlin.com/linux/v6.1/source/fs/fuse/dev.c#L1512) fails
with ENOTEMPTY if there is a pending FORGET request for a directory
entry within. Is that correct?

If so, what is the expected behavior for a filesystem that has just
deleted the entire tree and wants to inform the kernel of that fact?

Calling fuse_notify_delete() synchronously seems very prone to
deadlocks, and I'm not sure that the call would actually block until
FORGET has been processed.

Is the filesystem expected to wait for FORGET before it issues
fuse_notify_delete()? Or should it actually wait with the (physical)
removal of the parent directory until all child entries have zero lookup
count?

In the former case, why is this needed? In the latter case, how are
network filesystems supposed to deal with this?

Best,
-Nikolaus

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2023-08-02 17:50 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-07-26 18:08 Semantics of fuse_notify_delete() Nikolaus Rath
2023-07-27  8:04 ` Miklos Szeredi
2023-07-27 11:37   ` [fuse-devel] " Nikolaus Rath
2023-07-28  8:45     ` Nikolaus Rath
2023-07-28  8:52       ` Miklos Szeredi
2023-07-31 14:12         ` Miklos Szeredi
2023-08-01 10:53           ` Nikolaus Rath
2023-08-01 12:53             ` Miklos Szeredi
2023-08-01 14:40               ` Nikolaus Rath
2023-08-01 14:48                 ` Miklos Szeredi
2023-08-01 16:05                   ` Nikolaus Rath
2023-08-01 17:39                     ` Miklos Szeredi
2023-08-02 13:18     ` Miklos Szeredi
2023-08-02 14:43       ` Nikolaus Rath
2023-08-02 17:48         ` Miklos Szeredi

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).