[Top] [All Lists]

Re: [PATCH 1/3] fs: Introduce new flag FALLOC_FL_COLLAPSE_RANGE

To: Theodore Ts'o <tytso@xxxxxxx>, Namjae Jeon <linkinjeon@xxxxxxxxx>, adilger.kernel@xxxxxxxxx, bpm@xxxxxxx, elder@xxxxxxxxxx, hch@xxxxxxxxxxxxx, linux-fsdevel@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx, linux-ext4@xxxxxxxxxxxxxxx, xfs@xxxxxxxxxxx, a.sangwan@xxxxxxxxxxx, Namjae Jeon <namjae.jeon@xxxxxxxxxxx>
Subject: Re: [PATCH 1/3] fs: Introduce new flag FALLOC_FL_COLLAPSE_RANGE
From: Dave Chinner <david@xxxxxxxxxxxxx>
Date: Thu, 1 Aug 2013 10:54:47 +1000
Delivered-to: xfs@xxxxxxxxxxx
In-reply-to: <20130801004645.GC11378@xxxxxxxxx>
References: <1375281721-15840-1-git-send-email-linkinjeon@xxxxxxxxx> <20130731220154.GA11378@xxxxxxxxx> <20130801002341.GI7118@dastard> <20130801004645.GC11378@xxxxxxxxx>
User-agent: Mutt/1.5.21 (2010-09-15)
On Wed, Jul 31, 2013 at 08:46:45PM -0400, Theodore Ts'o wrote:
> On Thu, Aug 01, 2013 at 10:23:41AM +1000, Dave Chinner wrote:
> > On Wed, Jul 31, 2013 at 06:01:54PM -0400, Theodore Ts'o wrote:
> > > Have you considered what happens if you have a 10 megabyte file, of
> > > which the first 5 megs are mmap'ed into a userspace process.
> > > 
> > > Now suppose you call COLLAPASE_RANGE on a one megabyte range starting
> > > at offset 1024k from the beginning of the file.
> > > 
> > > Does the right thing happen to the mmap'ed region in memory?
> > 
> > Implementation detail. like a hole punch, it needs to invalidate the
> > range that it is operating over so mmap()d regions are refaulted
> > after the operation is done.
> It's not just the range that it's operating on, but also the region
> beyond the range that's been collapsed out.

Yes, that's part of "the range that it is operating over".

> A quick eyeball of the patch didn't seem to show any code that handled
> this, which is why I asked the question.

Right, but really it's the least of the problems I've noticed - the
XFS code is fundamentally broken in many ways - once I've finished
commenting on it, I'll have a quick look to see if the ext4 code has
the same fundamental flaws....



Dave Chinner

<Prev in Thread] Current Thread [Next in Thread>