lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-ID: <2xgxxvibw35ijwl5gtuure7hegce6h3ysx2m453hx6hcs5vnqs@2tvvv57fbvee> Date: Thu, 5 Jun 2025 13:32:12 +0200 From: Jan Kara <jack@...e.cz> To: Zhang Yi <yi.zhang@...weicloud.com> Cc: linux-ext4@...r.kernel.org, linux-fsdevel@...r.kernel.org, linux-kernel@...r.kernel.org, tytso@....edu, adilger.kernel@...ger.ca, jack@...e.cz, ojaswin@...ux.ibm.com, yi.zhang@...wei.com, libaokun1@...wei.com, yukuai3@...wei.com, yangerkun@...wei.com Subject: Re: [PATCH 2/5] ext4: correct the reserved credits for extent conversion On Fri 30-05-25 14:28:55, Zhang Yi wrote: > From: Zhang Yi <yi.zhang@...wei.com> > > Now, we reserve journal credits for converting extents in only one page > to written state when the I/O operation is complete. This is > insufficient when large folio is enabled. > > Fix this by reserving credits for converting up to one extent per block in > the largest 2MB folio, this calculation should only involve extents index > and leaf blocks, so it should not estimate too many credits. > > Fixes: 7ac67301e82f ("ext4: enable large folio for regular file") > Signed-off-by: Zhang Yi <yi.zhang@...wei.com> Looks good. Feel free to add: Reviewed-by: Jan Kara <jack@...e.cz> Honza > --- > fs/ext4/inode.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c > index 5ef34c0c5633..d35c07c1dcac 100644 > --- a/fs/ext4/inode.c > +++ b/fs/ext4/inode.c > @@ -2808,12 +2808,12 @@ static int ext4_do_writepages(struct mpage_da_data *mpd) > mpd->journalled_more_data = 0; > > if (ext4_should_dioread_nolock(inode)) { > + int bpf = ext4_journal_blocks_per_folio(inode); > /* > * We may need to convert up to one extent per block in > - * the page and we may dirty the inode. > + * the folio and we may dirty the inode. > */ > - rsv_blocks = 1 + ext4_chunk_trans_blocks(inode, > - PAGE_SIZE >> inode->i_blkbits); > + rsv_blocks = 1 + ext4_ext_index_trans_blocks(inode, bpf); > } > > if (wbc->range_start == 0 && wbc->range_end == LLONG_MAX) > -- > 2.46.1 > -- Jan Kara <jack@...e.com> SUSE Labs, CR
Powered by blists - more mailing lists