[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20230328025809.GC3223426@dread.disaster.area>
Date: Tue, 28 Mar 2023 13:58:09 +1100
From: Dave Chinner <david@...morbit.com>
To: "Darrick J. Wong" <djwong@...nel.org>
Cc: Christoph Hellwig <hch@...radead.org>,
"yebin (H)" <yebin10@...wei.com>, Ye Bin <yebin@...weicloud.com>,
linux-xfs@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] xfs: fix BUG_ON in xfs_getbmap()
On Mon, Mar 27, 2023 at 07:03:41PM -0700, Darrick J. Wong wrote:
> On Mon, Mar 27, 2023 at 06:47:54PM -0700, Christoph Hellwig wrote:
> > On Mon, Mar 27, 2023 at 06:43:28PM -0700, Darrick J. Wong wrote:
> > > <shrug> Seeing as the data fork mappings can change the instant the
> > > ILOCK drops, I'm not /that/ worried about users seeing a delalloc
> > > mapping even if the user requested a flush. The results are already
> > > obsolete when they get to userspace, unless the application software has
> > > found another means to lock out access to the file.
> >
> > That is true, but then again the users asked to not see delalloc
> > mappings, so we really shouldn't report one, right?
>
> Yeah, I suppose so. I wonder how many programs there are out there that
> don't pass in BMV_IF_DELALLOC /and/ can't handle that? But I suppose
> taking MMAP_EXCL is good enough to shut up the obvious assertion vector.
Why not just skip it? Take the flush completion as being a
point-in-time snapshot where there are no delalloc extents, and if
any new ones have been created racily, just skip them as being
"after" the flush and so don't get reported...
> The COW implementation probably ought to be doing the flush too.
Yup, and then just skip any delalloc extents found after that, too.
Cheers,
Dave.
--
Dave Chinner
david@...morbit.com
Powered by blists - more mailing lists