search for: block_in_file

Displaying 3 results from an estimated 3 matches for "block_in_file".

2010 Sep 02
3
[patch] O_DIRECT: fix the splitting up of contiguous I/O
...12, 2010 at 04:50:59PM -0400, Jeff Moyer wrote: > Hi, > > commit c2c6ca4 (direct-io: do not merge logically non-contiguous > requests) introduced a bug whereby all O_DIRECT I/Os were submitted a > page at a time to the block layer. The problem is that the code > expected dio->block_in_file to correspond to the current page in the > dio. In fact, it corresponds to the previous page submitted via > submit_page_section. This was purely an oversight, as the > dio->cur_page_fs_offset field was introduced for just this purpose. > This patch simply uses the correct variable...
2010 May 12
0
[PATCH 2/4] direct-io: add a hook for the fs to provide its own submit_bio function V3
...;bio = NULL; dio->boundary = 0; + dio->logical_offset_in_bio = 0; } /* @@ -701,6 +721,7 @@ submit_page_section(struct dio *dio, struct page *page, dio->cur_page_offset = offset; dio->cur_page_len = len; dio->cur_page_block = blocknr; + dio->cur_page_fs_offset = dio->block_in_file << dio->blkbits; out: return ret; } @@ -935,7 +956,7 @@ static ssize_t direct_io_worker(int rw, struct kiocb *iocb, struct inode *inode, const struct iovec *iov, loff_t offset, unsigned long nr_segs, unsigned blkbits, get_block_t get_block, dio_iodone_t end_io, - struct dio *dio...
2010 May 07
6
[PATCH 1/5] fs: allow short direct-io reads to be completed via buffered IO V2
V1->V2: Check to see if our current ppos is >= i_size after a short DIO read, just in case it was actually a short read and we need to just return. This is similar to what already happens in the write case. If we have a short read while doing O_DIRECT, instead of just returning, fallthrough and try to read the rest via buffered IO. BTRFS needs this because if we encounter a compressed or