Re: [GIT PULL] 9p fixes for 5.19-rc4
From: Dominique Martinet
Date: Wed Jun 22 2022 - 00:50:36 EST
Resending as my dkim-signing daemon was borked...
Sorry for the trouble if you're getting this twice.
Dominique Martinet wrote on Wed, Jun 22, 2022 at 01:44:12PM +0900:
>
> Thanks to Tyler and Christian for the patch/reviews/tests!
>
>
> The following changes since commit b13baccc3850ca8b8cccbf8ed9912dbaa0fdf7f3:
>
> Linux 5.19-rc2 (2022-06-12 16:11:37 -0700)
>
> are available in the Git repository at:
>
> https://github.com/martinetd/linux tags/9p-for-5.19-rc4
>
> for you to fetch changes up to b0017602fdf6bd3f344dd49eaee8b6ffeed6dbac:
>
> 9p: fix EBADF errors in cached mode (2022-06-17 06:03:30 +0900)
>
> ----------------------------------------------------------------
> 9p-for-5.19-rc4: fid refcount and fscache fixes
>
> This contains a couple of fixes:
> - fid refcounting was incorrect in some corner cases and would
> leak resources, only freed at umount time. The first three commits
> fix three such cases
> - cache=loose or fscache was broken when trying to write a partial
> page to a file with no read permission since the rework a few releases
> ago. The fix taken here is just to restore old behavior of using the
> special 'writeback_fid' for such reads, which is open as root/RDWR
> and such not get complains that we try to read on a WRONLY fid.
> Long-term it'd be nice to get rid of this and not issue the read at
> all (skip cache?) in such cases, but that direction hasn't progressed
>
> ----------------------------------------------------------------
> Dominique Martinet (3):
> 9p: fix fid refcount leak in v9fs_vfs_atomic_open_dotl
> 9p: fix fid refcount leak in v9fs_vfs_get_link
> 9p: fix EBADF errors in cached mode
>
> Tyler Hicks (1):
> 9p: Fix refcounting during full path walks for fid lookups
>
> fs/9p/fid.c | 22 +++++++++-------------
> fs/9p/vfs_addr.c | 13 +++++++++++++
> fs/9p/vfs_inode.c | 8 ++++----
> fs/9p/vfs_inode_dotl.c | 3 +++
> 4 files changed, 29 insertions(+), 17 deletions(-)
>
--
Dominique