From: Chris Mason <chris.mason@oracle.com>
To: Jens Axboe <jens.axboe@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 09:04:51 -0500 [thread overview]
Message-ID: <20080115090451.060dbedd@think.oraclecorp.com> (raw)
In-Reply-To: <20080115100739.GX6258@kernel.dk>
On Tue, 15 Jan 2008 11:07:40 +0100
Jens Axboe <jens.axboe@oracle.com> wrote:
> > > 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:
Thanks!
> > >
> > > 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...
>
> This works, but probably pretty suboptimal (should end the new journal
> in map_io_complete()?). And yes I know the >> 9 isn't correct, since
> the fs block size is larger. Just making sure that we always have
> enough blocks.
You can use DIO_CREDITS instead of len >> 9, just like the ext3
O_DIRECT code does. Your current patch is fine, except it breaks
data=ordered rules. My plan to work within data=ordered:
1) Inside ext3_map_extent (while the transaction was running), increment
a counter in the ext3 journal for number of pending IOs. Then end the
transaction handle.
2) Drop this counter inside the IO completion call
3) Change the ext3 commit code to wait for the IO count to be zero.
I'll give it a shot later this week, until then your current patch is
just data=writeback, which is good enough for testing.
-chris
next prev parent reply other threads:[~2008-01-15 14:05 UTC|newest]
Thread overview: 39+ 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-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
2008-01-15 10:07 ` Jens Axboe
2008-01-15 14:04 ` Chris Mason [this message]
[not found] <95637914@web.de>
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=20080115090451.060dbedd@think.oraclecorp.com \
--to=chris.mason@oracle.com \
--cc=hch@infradead.org \
--cc=jens.axboe@oracle.com \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).