xfs
[Top] [All Lists]

Re: [RFC] unifying write variants for filesystems

To: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Subject: Re: [RFC] unifying write variants for filesystems
From: Kent Overstreet <kmo@xxxxxxxxxxxxx>
Date: Tue, 4 Feb 2014 04:52:20 -0800
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>, Christoph Hellwig <hch@xxxxxxxxxxxxx>, Jens Axboe <axboe@xxxxxxxxx>, Mark Fasheh <mfasheh@xxxxxxxx>, Joel Becker <jlbec@xxxxxxxxxxxx>, linux-fsdevel <linux-fsdevel@xxxxxxxxxxxxxxx>, xfs@xxxxxxxxxxx, Sage Weil <sage@xxxxxxxxxxx>, Steve French <sfrench@xxxxxxxxx>, Anton Altaparmakov <anton@xxxxxxxxxx>, Zach Brown <zab@xxxxxxxxx>, Dave Kleikamp <dave.kleikamp@xxxxxxxxxx>
Delivered-to: xfs@xxxxxxxxxxx
In-reply-to: <20140204124409.GG10323@xxxxxxxxxxxxxxxxxx>
References: <CA+55aFw4LgyYEkygxHUnpKZg3jMACGzsyENc9a9rWFmLcaRefQ@xxxxxxxxxxxxxx> <20140118074649.GF10323@xxxxxxxxxxxxxxxxxx> <CA+55aFzM0N7WjqnLNnuqTkbj3iws9f3bYxei=ZBCM8hvps4zYg@xxxxxxxxxxxxxx> <20140118201031.GI10323@xxxxxxxxxxxxxxxxxx> <20140119051335.GN10323@xxxxxxxxxxxxxxxxxx> <20140120135514.GA21567@xxxxxxxxxxxxx> <CA+55aFzEA-eM9v2PvsWx4v4ANaKXuRGYyGCkegJg++rhtHvnig@xxxxxxxxxxxxxx> <20140201224301.GS10323@xxxxxxxxxxxxxxxxxx> <52EFC271.3090205@xxxxxxxxxx> <20140204124409.GG10323@xxxxxxxxxxxxxxxxxx>
User-agent: Mutt/1.5.21 (2010-09-15)
On Tue, Feb 04, 2014 at 12:44:09PM +0000, Al Viro wrote:
> On Mon, Feb 03, 2014 at 10:23:13AM -0600, Dave Kleikamp wrote:
> 
> > Thanks for the feedback. I'd been asking for feedback on this patchset
> > for some time now, and have not received very much.
> > 
> > This is all based on some years-old work by Zach Brown that he probably
> > wishes would have disappeared by now. I pretty much left what I could
> > alone since 1) it was working, and 2) I didn't hear any objections
> > (until now).
> > 
> > It's clear now that the patchset isn't close to mergable, so treat it
> > like a proof-of-concept and we can come up with a better container and
> > read/write interface. I won't respond individually to your comments, but
> > will take them all into consideration going forward.
> 
> FWIW, I suspect that the right way to deal with dio side of things would
> be a primitive along the lines of "get first N <page,start,len> for the
> iov_iter".  With get_user_pages_fast() for iovec-backed ones and "just
> grab references" for array-of-page-subranges ones.

I'm on vacation in Switzerland, didn't bring my adderall, and
direct-io.c makes my head hurt at the best of times, but - have a look
at my in-progress dio rewrite:

http://evilpiepirate.org/git/linux-bcache.git/commit/?h=block_stuff&id=ca09c20f08efd640f255fabd778de0dbf43ed1da

Where I'm headed with things is to just start out by allocating bios and
pinning pages into them, and _then_ doing all the fun "ask the
filesystem where it goes and what to do with it" dance. The goal is to
push the bios as far up the stack as possible.

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