Semantics of fuse_notify_delete()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [NTFS 3]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [NTFS 3]     [Samba]     [Device Mapper]     [CEPH Development]

  Powered by Linux