Re: PATCH 3/6 - direct-io: do not merge logically non-contiguous requests

2010-08-11 Thread Josef Bacik
On Wed, Aug 11, 2010 at 09:27:45AM -0400, Jeff Moyer wrote: > Josef Bacik writes: > > > So say blocksize of 4k, we do dio to 12k, the first time around > > dio->block_in_file is 0, we set dio->cur_page, and move on to the next > > page, and > > bio->block_in_file is set to 1. We find that dio->

Re: PATCH 3/6 - direct-io: do not merge logically non-contiguous requests

2010-08-11 Thread Jeff Moyer
Josef Bacik writes: > So say blocksize of 4k, we do dio to 12k, the first time around > dio->block_in_file is 0, we set dio->cur_page, and move on to the next page, > and > bio->block_in_file is set to 1. We find that dio->cur_page is set, so we do > dio_send_cur_page(). Since !dio->bio we cre

Re: PATCH 3/6 - direct-io: do not merge logically non-contiguous requests

2010-08-10 Thread Josef Bacik
On Tue, Aug 10, 2010 at 02:40:06PM -0400, Jeff Moyer wrote: > Christian Ehrhardt writes: > > > On 08/06/2010 02:03 PM, Christoph Hellwig wrote: > >> Something is deeply wrong here. Raw block device access has a 1:1 > >> mapping between logical and physical block numbers. They really should > >>

Re: PATCH 3/6 - direct-io: do not merge logically non-contiguous requests

2010-08-10 Thread Jeff Moyer
Christian Ehrhardt writes: > On 08/06/2010 02:03 PM, Christoph Hellwig wrote: >> Something is deeply wrong here. Raw block device access has a 1:1 >> mapping between logical and physical block numbers. They really should >> never be non-contiguous. > > At least I did nothing I know about to bre

Re: PATCH 3/6 - direct-io: do not merge logically non-contiguous requests

2010-08-07 Thread Christian Ehrhardt
On 08/06/2010 02:03 PM, Christoph Hellwig wrote: Something is deeply wrong here. Raw block device access has a 1:1 mapping between logical and physical block numbers. They really should never be non-contiguous. At least I did nothing I know about to break it :-) As I mentioned just iozone

Re: PATCH 3/6 - direct-io: do not merge logically non-contiguous requests

2010-08-06 Thread Christoph Hellwig
Something is deeply wrong here. Raw block device access has a 1:1 mapping between logical and physical block numbers. They really should never be non-contiguous. -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majord...@vger.kernel.org More ma

Re: PATCH 3/6 - direct-io: do not merge logically non-contiguous requests

2010-08-06 Thread Christian Ehrhardt
On Fri, May 21, 2010 at 15:37:45AM -0400, Josef Bacik wrote: > 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 y

Re: [PATCH 3/6] direct-io: do not merge logically non-contiguous requests

2010-05-22 Thread Josef Bacik
On Fri, May 21, 2010 at 06:47:36PM -0700, Mike Fedyk wrote: > On Fri, May 21, 2010 at 10:03 AM, 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

Re: [PATCH 3/6] direct-io: do not merge logically non-contiguous requests

2010-05-21 Thread Mike Fedyk
On Fri, May 21, 2010 at 10:03 AM, 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.  T

[PATCH 3/6] direct-io: do not merge logically non-contiguous requests

2010-05-21 Thread Josef Bacik
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 wi

Re: [PATCH 3/6] direct-io: do not merge logically non-contiguous requests

2010-05-21 Thread Christoph Hellwig
On Fri, May 21, 2010 at 11:37:45AM -0400, Josef Bacik wrote: > 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

Re: [PATCH 3/6] direct-io: do not merge logically non-contiguous requests

2010-05-21 Thread Josef Bacik
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-4

Re: [PATCH 3/6] direct-io: do not merge logically non-contiguous requests

2010-05-21 Thread Christoph Hellwig
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

[PATCH 3/6] direct-io: do not merge logically non-contiguous requests

2010-05-19 Thread Josef Bacik
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 wi