From: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
To: Jan Kara <jack@suse.cz>
Cc: <linux-fsdevel@vger.kernel.org>,
Christian Brauner <brauner@kernel.org>,
aivazian.tigran@gmail.com, Ted Tso <tytso@mit.edu>,
<linux-ext4@vger.kernel.org>
Subject: Re: [PATCH 6/9] fat: Fix possibly missing inode write on fsync(2)
Date: Mon, 11 May 2026 23:32:45 +0900 [thread overview]
Message-ID: <87pl32yq2a.fsf@mail.parknet.co.jp> (raw)
In-Reply-To: <20260511121356.241821-15-jack@suse.cz>
Jan Kara <jack@suse.cz> writes:
> Use mmb inode buffer writeout infrastructure to reliably write out
> inode's buffer on fsync(2).
> Signed-off-by: Jan Kara <jack@suse.cz>
> ---
> fs/fat/inode.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/fs/fat/inode.c b/fs/fat/inode.c
> index 28f78df086ef..4ca00b7a618b 100644
> --- a/fs/fat/inode.c
> +++ b/fs/fat/inode.c
> @@ -907,6 +907,7 @@ static int __fat_write_inode(struct inode *inode, int wait)
> }
> spin_unlock(&sbi->inode_hash_lock);
> mark_buffer_dirty(bh);
> + MSDOS_I(inode)->i_metadata_bhs.inode_blk = bh->b_blocknr;
When inode position was changed/removed, this will point the wrong
block. And maybe sync a unrelated block and wait.
> err = 0;
> if (wait)
> err = sync_dirty_buffer(bh);
> @@ -925,7 +926,7 @@ static int fat_write_inode(struct inode *inode, struct writeback_control *wbc)
> err = fat_clusters_flush(sb);
> mutex_unlock(&MSDOS_SB(sb)->s_lock);
> } else
> - err = __fat_write_inode(inode, wbc->sync_mode == WB_SYNC_ALL);
> + err = __fat_write_inode(inode, 0);
>
> return err;
> }
--
OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
next prev parent reply other threads:[~2026-05-11 14:32 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-11 12:13 [PATCH 0/9] fs: Fix missed inode write during fsync Jan Kara
2026-05-11 12:13 ` [PATCH 1/9] affs: Drop support for metadata bh tracking Jan Kara
2026-05-11 12:13 ` [PATCH 2/9] ext4: Allocate mapping_metadata_bhs struct on demand Jan Kara
2026-05-11 12:13 ` [PATCH 3/9] fs: Writeout inode buffer from mmb_sync() Jan Kara
2026-05-11 13:27 ` Christian Brauner
2026-05-11 12:13 ` [PATCH 4/9] ext2: Fix possibly missing inode write on fsync(2) Jan Kara
2026-05-11 12:13 ` [PATCH 5/9] udf: " Jan Kara
2026-05-11 12:13 ` [PATCH 6/9] fat: " Jan Kara
2026-05-11 14:32 ` OGAWA Hirofumi [this message]
2026-05-11 17:03 ` Jan Kara
2026-05-11 18:02 ` OGAWA Hirofumi
2026-05-12 7:29 ` Jan Kara
2026-05-12 14:17 ` OGAWA Hirofumi
2026-05-13 9:41 ` Jan Kara
2026-05-11 12:13 ` [PATCH 7/9] minix: " Jan Kara
2026-05-11 12:13 ` [PATCH 8/9] bfs: " Jan Kara
2026-05-11 12:13 ` [PATCH 9/9] ext4: Use mmb infrastructure for inode buffer writeout Jan Kara
2026-05-11 13:30 ` Christian Brauner
2026-05-13 10:45 ` Jan Kara
2026-05-11 20:49 ` [syzbot ci] Re: fs: Fix missed inode write during fsync syzbot ci
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87pl32yq2a.fsf@mail.parknet.co.jp \
--to=hirofumi@mail.parknet.co.jp \
--cc=aivazian.tigran@gmail.com \
--cc=brauner@kernel.org \
--cc=jack@suse.cz \
--cc=linux-ext4@vger.kernel.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=tytso@mit.edu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.