[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <3855fa1d-ec30-2c63-c5e2-b388e8a02b3e@opensource.wdc.com>
Date: Wed, 18 Jan 2023 18:11:03 +0900
From: Damien Le Moal <damien.lemoal@...nsource.wdc.com>
To: Christoph Hellwig <hch@...radead.org>,
"Darrick J. Wong" <djwong@...nel.org>
Cc: Andreas Grünbacher <andreas.gruenbacher@...il.com>,
Dave Chinner <david@...morbit.com>,
Andreas Gruenbacher <agruenba@...hat.com>,
Alexander Viro <viro@...iv.linux.org.uk>,
Damien Le Moal <damien.lemoal@....com>,
Matthew Wilcox <willy@...radead.org>,
linux-xfs@...r.kernel.org, linux-fsdevel@...r.kernel.org,
linux-ext4@...r.kernel.org, cluster-devel@...hat.com
Subject: Re: [RFC v6 08/10] iomap/xfs: Eliminate the iomap_valid handler
On 1/18/23 16:21, Christoph Hellwig wrote:
> On Sun, Jan 15, 2023 at 09:29:58AM -0800, Darrick J. Wong wrote:
>> I don't have any objections to pulling everything except patches 8 and
>> 10 for testing this week.
>
> That would be great. I now have a series to return the ERR_PTR
> from __filemap_get_folio which will cause a minor conflict, but
> I think that's easy enough for Linux to handle.
>
>>
>> 1. Does zonefs need to revalidate mappings? The mappings are 1:1 so I
>> don't think it does, but OTOH zone pointer management might complicate
>> that.
>
> Adding Damien.
zonefs has a static mapping of file blocks that never changes and is fully
populated up to a file max size from mount. So zonefs is not using the
iomap_valid page operation. In fact, zonefs is not even using struct
iomap_page_ops.
>
>> 2. How about porting the writeback iomap validation to use this
>> mechanism? (I suspect Dave might already be working on this...)
>
> What is "this mechanism"? Do you mean the here removed ->iomap_valid
> ? writeback calls into ->map_blocks for every block while under the
> folio lock, so the validation can (and for XFS currently is) done
> in that. Moving it out into a separate method with extra indirect
> functiona call overhead and interactions between the methods seems
> like a retrograde step to me.
>
>> 2. Do we need to revalidate mappings for directio writes? I think the
>> answer is no (for xfs) because the ->iomap_begin call will allocate
>> whatever blocks are needed and truncate/punch/reflink block on the
>> iolock while the directio writes are pending, so you'll never end up
>> with a stale mapping.
>
> Yes.
--
Damien Le Moal
Western Digital Research
Powered by blists - more mailing lists