[Devel] [PATCH hci-8.0] fs/fuse: wake close_wait waiters when fuse_writepage_locked() bails out
Konstantin Khorenko
khorenko at virtuozzo.com
Thu Sep 24 14:33:34 MSK 2026
Committed to branch-rh10-6.12.0-211.52.1.22.x.vz10-ovz, will be released in rh10-6.12.0-211.52.1.22.3.vz10
3b2cc738990e
fs/fuse: wake close_wait waiters when fuse_writepage_locked() bails out
The error path of fuse_writepage_locked() drops the fuse file
reference with a bare fuse_file_put(), which does not wake up the
releaser waiting on fi->page_waitq for ff->count to drain on
close_wait, so fuse_release() can hang. Use fuse_release_ff() instead.
The bare put came with mainline commit 0acad9289be3 ("fuse: refactor
out shared logic in fuse_writepages_fill() and fuse_writepage_locked()"),
which added a failure point after the fuse file is taken; before it
nothing could fail there. It is the last one left on the writeback path
after commit 6a30a2b00fee ("fs/fuse: unify dropping the fuse file
reference of a writeback request"), which covers the wpa death paths
only.
Fixes: 0acad9289be3 ("fuse: refactor out shared logic in fuse_writepages_fill() and fuse_writepage_locked()")
https://virtuozzo.atlassian.net/browse/VSTOR-145614
Feature: vStorage
Signed-off-by: Liu Kui <kui.liu at virtuozzo.com>
Link: http://lore.virtuozzo.com/20260924-vstor-145614-wpl-fix-v1-1-aba86330d06c@virtuozzo.com
--
Best regards,
Konstantin Khorenko,
Virtuozzo Linux Kernel Team
More information about the Devel
mailing list