[PATCH v3 0/2] fuse: add no forget support

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

 



FUSE_FORGET requests are not used in some cases (e.g., juicefs) but have 
an impact on the system. So add no forget support. The details about no
forget support can be seen in the following patches.

Patch 1 cleans up the allocation and the processing of forget requests.
Patch 2 adds the no forget support based on patch 1.

The link of libfuse with no forget support:
https://github.com/yangyun50/libfuse/commit/ef7061fef6f8c7154c975e1b0348dc9f12f945fe
It enables the no forget by default if the filesystem doesn't implement
the forget operation (i.e., se->op.forget == NULL).

---

v1: 
https://lore.kernel.org/lkml/20240726083752.302301-1-yangyun50@xxxxxxxxxx/
v2:
https://lore.kernel.org/lkml/20240824092553.730338-1-yangyun50@xxxxxxxxxx/

Changes from v1->v2:
- Still use fuse_queue_forget in patch 1 (Miklos)
- Simplify function name in patch 2 (Josef)

Changes from v2->v3:
- Still preallocate fuse_forget_link on the inode creation in patch1 (Miklos)

yangyun (2):
  fuse: move fuse_forget_link allocation inside fuse_queue_forget()
  fuse: add support for no forget requests

 fs/fuse/dev.c             | 16 ++++++++--
 fs/fuse/dir.c             | 63 +++++++++------------------------------
 fs/fuse/fuse_i.h          | 33 +++++++++++++++++---
 fs/fuse/inode.c           | 53 ++++++++++++++++----------------
 fs/fuse/readdir.c         | 38 ++++++-----------------
 include/uapi/linux/fuse.h |  3 ++
 6 files changed, 96 insertions(+), 110 deletions(-)

-- 
2.33.0





[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