[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240531141000.GH52987@frogsfrogsfrogs>
Date: Fri, 31 May 2024 07:10:00 -0700
From: "Darrick J. Wong" <djwong@...nel.org>
To: Christoph Hellwig <hch@...radead.org>
Cc: Zhang Yi <yi.zhang@...weicloud.com>, linux-xfs@...r.kernel.org,
linux-fsdevel@...r.kernel.org, linux-kernel@...r.kernel.org,
brauner@...nel.org, david@...morbit.com, chandanbabu@...nel.org,
jack@...e.cz, willy@...radead.org, yi.zhang@...wei.com,
chengzhihao1@...wei.com, yukuai3@...wei.com
Subject: Re: [RFC PATCH v4 7/8] xfs: reserve blocks for truncating realtime
inode
On Fri, May 31, 2024 at 05:42:37AM -0700, Christoph Hellwig wrote:
> > - error = xfs_trans_alloc(mp, &M_RES(mp)->tr_itruncate, 0, 0, 0, &tp);
> > + resblks = XFS_IS_REALTIME_INODE(ip) ? XFS_DIOSTRAT_SPACE_RES(mp, 0) : 0;
>
> This probably wants a comment explaining that we need the block
> reservation for bmap btree block allocations / splits that can happen
> because we can split a written extent into one written and one
> unwritten, while for the data fork we'll always just shorten or
> remove extents.
"for the data fork"? <confused>
This always runs on the data fork. Did you mean "for files with alloc
unit > 1 fsblock"?
> I'd also find this more readable if resblks was initialized to 0,
> and this became a:
>
> if (XFS_IS_REALTIME_INODE(ip))
> resblks = XFS_DIOSTRAT_SPACE_RES(mp, 0);
Agreed.
--D
Powered by blists - more mailing lists