From: Jens Axboe <jens.axboe@oracle.com>
To: Chris Mason <chris.mason@oracle.com>
Cc: linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org,
hch@infradead.org, peterz@infradead.org
Subject: Re: [PATCH][RFC] fast file mapping for loop
Date: Tue, 15 Jan 2008 10:36:52 +0100 [thread overview]
Message-ID: <20080115093651.GW6258@kernel.dk> (raw)
In-Reply-To: <20080115092503.GV6258@kernel.dk>
On Tue, Jan 15 2008, Jens Axboe wrote:
> On Mon, Jan 14 2008, Jens Axboe wrote:
> > On Mon, Jan 14 2008, Chris Mason wrote:
> > > Hello everyone,
> > >
> > > Here is a modified version of Jens' patch. The basic idea is to push
> > > the mapping maintenance out of loop and down into the filesystem (ext2
> > > in this case).
> > >
> > > Two new address_space operations are added, one to map
> > > extents and the other to provide call backs into the FS as io is
> > > completed.
> > >
> > > Still TODO for this patch:
> > >
> > > * Add exclusion between filling holes and readers. This is partly
> > > implemented, when a hole is filled by the FS, the extent is flagged as
> > > having a hole. The idea is to check this flag before trying to read
> > > the blocks and just send back all zeros.
> > >
> > > The flag would be cleared when the blocks filling the hole have been
> > > written.
> > >
> > > * Exclude page cache readers and writers
> > >
> > > * Add a way for the FS to request a commit before telling the higher
> > > layers the IO is complete. This way we can make sure metadata related
> > > to holes is on disk before claiming the IO is really done. COW based
> > > filesystems will also needed it.
> > >
> > > * Change loop to use fast mapping only when the new address_space op is
> > > provided (whoops, forgot about this until just now)
> > >
> > > * A few other bits for COW, not really relevant until there
> > > is...something COW using it.
> >
> > Looks pretty good. Essentially the loop side is 100% the same, it just
> > offloads the extent ownership to the fs (where it belongs). So I like
> > it. Attaching a small cleanup/fixup patch for loop, don't think it needs
> > further explanations.
> >
> > One suggestion - free_extent_map(), I would call that put_extent_map()
> > instead.
>
> I split and merged the patch into five bits (added ext3 support), so
> perhaps that would be easier for people to read/review. Attached and
> also exist in the loop-extent_map branch here:
>
> http://git.kernel.dk/?p=linux-2.6-block.git;a=shortlog;h=loop-extent_map
Seems my ext3 version doesn't work, it craps out in
ext3_get_blocks_handle() triggering this bug:
J_ASSERT(handle != NULL || create == 0);
I'll see if I can fix that, being fairly fs ignorant...
--
Jens Axboe
next prev parent reply other threads:[~2008-01-15 9:37 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-01-09 8:52 [PATCH][RFC] fast file mapping for loop Jens Axboe
2008-01-09 9:31 ` Christoph Hellwig
2008-01-09 9:43 ` Jens Axboe
2008-01-09 11:00 ` Chris Mason
2008-01-09 15:34 ` Andi Kleen
2008-01-10 8:43 ` Jens Axboe
2008-01-09 23:16 ` Alasdair G Kergon
2008-01-09 23:16 ` Alasdair G Kergon
2008-01-10 8:31 ` Jens Axboe
2008-01-10 8:42 ` Jens Axboe
2008-01-11 7:39 ` Mikulas Patocka
2008-01-11 7:58 ` Jens Axboe
2008-01-10 12:47 ` Chris Mason
2008-01-10 12:57 ` Jens Axboe
2008-01-10 23:01 ` Neil Brown
2008-01-11 14:21 ` Chris Mason
2008-01-10 1:42 ` Nick Piggin
2008-01-10 8:34 ` Jens Axboe
2008-01-10 8:37 ` Christoph Hellwig
2008-01-10 8:44 ` Jens Axboe
2008-01-10 8:54 ` Christoph Hellwig
2008-01-10 9:01 ` Jens Axboe
2008-01-10 12:53 ` Chris Mason
2008-01-10 13:03 ` Jens Axboe
2008-01-10 13:46 ` Chris Mason
2008-01-10 9:37 ` Peter Zijlstra
2008-01-10 9:49 ` Jens Axboe
2008-01-10 9:52 ` Peter Zijlstra
2008-01-10 10:02 ` Jens Axboe
2008-01-10 10:20 ` Peter Zijlstra
2008-01-11 1:25 ` Bill Davidsen
2008-01-11 18:17 ` Daniel Phillips
2008-01-11 18:23 ` Jens Axboe
2008-01-14 17:10 ` Chris Mason
2008-01-14 17:54 ` Jens Axboe
2008-01-15 9:25 ` Jens Axboe
2008-01-15 9:36 ` Jens Axboe [this message]
2008-01-15 10:07 ` Jens Axboe
2008-01-15 14:04 ` Chris Mason
-- strict thread matches above, loose matches on Subject: below --
2008-01-09 23:43 devzero
2008-01-09 23:53 ` Alasdair G Kergon
2008-01-09 23:53 ` Alasdair G Kergon
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20080115093651.GW6258@kernel.dk \
--to=jens.axboe@oracle.com \
--cc=chris.mason@oracle.com \
--cc=hch@infradead.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=peterz@infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.