lkml.org 
[lkml]   [2010]   [May]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 3/6] direct-io: do not merge logically non-contiguous requests
On Fri, May 21, 2010 at 11:21:11AM -0400, Christoph Hellwig wrote:
> On Wed, May 19, 2010 at 04:24:51PM -0400, Josef Bacik wrote:
> > Btrfs cannot handle having logically non-contiguous requests submitted. For
> > example if you have
> >
> > Logical: [0-4095][HOLE][8192-12287]
> > Physical: [0-4095] [4096-8191]
> >
> > Normally the DIO code would put these into the same BIO's. The problem is we
> > need to know exactly what offset is associated with what BIO so we can do our
> > checksumming and unlocking properly, so putting them in the same BIO doesn't
> > work. So add another check where we submit the current BIO if the physical
> > blocks are not contigous OR the logical blocks are not contiguous.
>
> This gets us slightly less optimal I/O patters for other filesystems in
> this case. But it's probably corner case enough to not care and make it
> the default.
>
> But please make the comment in the comment as verbose as the commit
> message so that people understand why we're doing this when reading the
> code in a few years.
>

So after I sent this I thought that maybe I could make that test _only_ if we
provide submit_bio, that way it only affects btrfs and not everybody else, would
you prefer I do something like that? I will make the commit log a bit more
verbose. Thanks,

Josef


\
 
 \ /
  Last update: 2010-05-21 17:33    [W:0.029 / U:0.164 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site