[Devel] [PATCH VZ10 0/7] fs/fuse: Revamp fuse_invalidate_files()
Alexey Kuznetsov
kuznet at virtuozzo.com
Tue Sep 2 20:31:13 MSK 2025
Ack.
Let's go with this. The change is definitely great simplification and
huge relieve for maintanance.
As anything new, it might have holes, we will deal with them. I found
nothing bad by now.
On Tue, Aug 26, 2025 at 6:56 PM Liu Kui <kui.liu at virtuozzo.com> wrote:
>
> Current implementation requires traversing various queues to find
> requests that need to be killed. This approach is problematic because:
>
> 1. Requests can move between different queues during their lifecycle
> 2. Special care must be taken when moving requests between queues to
> avoid missing requests that need to be killed.
> 3. The current implementation is complex, bug-prone, and difficult to
> maintain
>
> This patch series implements a cleaner solution by introducing a dedicated
> queue to track all killable requests. Each request is enqueued when created
> and dequeued only when destroyed, ensuring that no requests are missed
> during kill operations.
>
> Key changes:
> - Add a new killable requests queue to track all requests that can be
> killed
> - Simplify kill operations by iterating only through the dedicated queue
> - Remove complex queue traversal logic and race condition handling
> - Improve code maintainability and reduce bug potential
>
> Implements #VSTOR-101450
> https://virtuozzo.atlassian.net/browse/VSTOR-101450
>
> Liu Kui (7):
> fs/fuse: revamp the struct fuse_args;
> fs/fuse: revamp fuse_invalidate_files()
> fs/fuse: remove fuse_kill_requests()
> fs/fuse: remove useless code related to fuse_kill_requests
> fs/fuse: remove special treatment to killed requests
> fs/fuse: refactor fuse_file_fail_immediately()
> Revert "fs/fuse/kio: keep kio requests on revoke list at all times"
>
> fs/fuse/dev.c | 53 +++--------------
> fs/fuse/file.c | 69 +++++++++++++++++----
> fs/fuse/fuse_i.h | 34 ++++-------
> fs/fuse/inode.c | 96 ++----------------------------
> fs/fuse/kio/pcs/pcs_fuse_kdirect.c | 69 ++++-----------------
> fs/fuse/kio/pcs/pcs_krpc.c | 2 +-
> 6 files changed, 99 insertions(+), 224 deletions(-)
>
> --
> 2.39.5 (Apple Git-154)
More information about the Devel
mailing list