All Virtuozzo development lists (kernel + QEMU)
 help / color / mirror / Atom feed
* [Devel] [PATCH hci-8.1 0/3] fs/fuse: rework close_wait handling
@ 2026-09-30  5:44 Liu Kui
  2026-09-30  5:44 ` [Devel] [PATCH hci-8.1 1/3] fs/fuse: give num_openers and i_size_unstable each a single role Liu Kui
                   ` (3 more replies)
  0 siblings, 4 replies; 8+ messages in thread
From: Liu Kui @ 2026-09-30  5:44 UTC (permalink / raw)
  To: Konstantin Khorenko; +Cc: azaitsev, devel, Liu Kui

Rework the close_wait handling around fuse file open/close:

 - give num_openers and i_size_unstable each a single role: the flag
   alone decides when attributes are taken from the server, the
   counter only drives kio's file_open/file_close pairing

 - move all the close_wait handling of fuse_release() into a new
   helper and restore the !close_wait case to the mainline behavior;
   the atomic last-open detection under the inode lock fixes two
   racing releasers both calling kio's file_close

 - decouple the releaser's wait for ff->count from fi->page_waitq:
   switch it to wait_var_event() and fold the matching wake_up_var()
   into fuse_file_put(), so the wakeup can never be separated from
   the reference drop again (see commit 3b2cc738990e ("fs/fuse: wake
   close_wait waiters when fuse_writepage_locked() bails out") for
   the most recent instance of a drop site missing the wakeup),
   removing __fuse_file_put() and fuse_release_ff()

https://virtuozzo.atlassian.net/browse/VSTOR-147878

---
Liu Kui (3):
      fs/fuse: give num_openers and i_size_unstable each a single role
      fs/fuse: move the close_wait handling of fuse_release() into a helper
      fs/fuse: use wait_var_event to wait for fuse file references

 fs/fuse/file.c                     | 177 +++++++++++++++++++------------------
 fs/fuse/fuse_i.h                   |   6 +-
 fs/fuse/inode.c                    |   5 +-
 fs/fuse/kio/pcs/pcs_fuse_kdirect.c |   3 +-
 4 files changed, 101 insertions(+), 90 deletions(-)
---
base-commit: ca54f152160587a74ff17cb52feef16f7b9d4e2b
change-id: 20260928-close-wait-rework-v2-7cac44e6a295

Best regards,
--  
Liu Kui <kui.liu@virtuozzo.com>

_______________________________________________
Devel mailing list
Devel@openvz.org
https://lists.openvz.org/mailman/listinfo/devel

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

end of thread, other threads:[~2026-09-30 15:40 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-09-30  5:44 [Devel] [PATCH hci-8.1 0/3] fs/fuse: rework close_wait handling Liu Kui
2026-09-30  5:44 ` [Devel] [PATCH hci-8.1 1/3] fs/fuse: give num_openers and i_size_unstable each a single role Liu Kui
2026-09-30  5:50   ` no-reply
2026-09-30  5:44 ` [Devel] [PATCH hci-8.1 2/3] fs/fuse: move the close_wait handling of fuse_release() into a helper Liu Kui
2026-09-30  5:49   ` no-reply
2026-09-30  5:44 ` [Devel] [PATCH hci-8.1 3/3] fs/fuse: use wait_var_event to wait for fuse file references Liu Kui
2026-09-30  5:51   ` no-reply
2026-09-30 15:39 ` [Devel] [PATCH hci-8.1 0/3] fs/fuse: rework close_wait handling Konstantin Khorenko

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.