[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20100522140217.GS32248@dhcp231-156.rdu.redhat.com>
Date: Sat, 22 May 2010 10:02:17 -0400
From: Josef Bacik <josef@...hat.com>
To: Mike Fedyk <mfedyk@...efedyk.com>
Cc: Josef Bacik <josef@...hat.com>, linux-btrfs@...r.kernel.org,
linux-fsdevel@...r.kernel.org, linux-kernel@...r.kernel.org,
hch@...radead.org, akpm@...ux-foundation.org
Subject: Re: [PATCH 3/6] direct-io: do not merge logically non-contiguous
requests
On Fri, May 21, 2010 at 06:47:36PM -0700, Mike Fedyk wrote:
> On Fri, May 21, 2010 at 10:03 AM, Josef Bacik <josef@...hat.com> 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.
> >
> > Signed-off-by: Josef Bacik <josef@...hat.com>
> > ---
> >
> > V1->V2
> > -Be more verbose in the in-code comment
> >
> > fs/direct-io.c | 20 ++++++++++++++++++--
> > 1 files changed, 18 insertions(+), 2 deletions(-)
> >
>
> Btrfs has been pretty much self-contained (working well compiled
> against 2.6.32 for example). Is there a way that this wouldn't just
> start silently breaking for people compiling the latest btrfs with
> dkms against older kernels?
Nope, you have to have these generic patches for DIO to work, so building btrfs
like this will stop working with earlier kernels. Thanks,
Josef
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists