Messages in this thread | | | Date | Sat, 22 May 2010 10:02:17 -0400 | From | Josef Bacik <> | 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@redhat.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@redhat.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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |