diff options
author | Badari Pulavarty <pbadari@us.ibm.com> | 2006-03-26 01:38:04 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-03-26 08:57:02 -0800 |
commit | f91a2ad2ed97099fb565e3336f8df0df717f2ba9 (patch) | |
tree | ab8ebeca29bbbbf1f66c47173faebbc383a4dbf7 /fs/ext3 | |
parent | d6859bfca8cbfe4105704e410b0afa50beabbbb9 (diff) | |
download | blackbird-op-linux-f91a2ad2ed97099fb565e3336f8df0df717f2ba9.tar.gz blackbird-op-linux-f91a2ad2ed97099fb565e3336f8df0df717f2ba9.zip |
[PATCH] ext3: multi-block get_block()
Mingming Cao recently added multi-block allocation support for ext3,
currently used only by DIO. I added support to map multiple blocks for
mpage_readpages(). This patch add support for ext3_get_block() to deal
with multi-block mapping. Basically it renames ext3_direct_io_get_blocks()
as ext3_get_block().
Signed-off-by: Badari Pulavarty <pbadari@us.ibm.com>
Cc: Mingming Cao <cmm@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'fs/ext3')
-rw-r--r-- | fs/ext3/inode.c | 16 |
1 files changed, 4 insertions, 12 deletions
diff --git a/fs/ext3/inode.c b/fs/ext3/inode.c index e68587a7f366..48ae0339af17 100644 --- a/fs/ext3/inode.c +++ b/fs/ext3/inode.c @@ -941,9 +941,8 @@ out: #define DIO_CREDITS (EXT3_RESERVE_TRANS_BLOCKS + 32) -static int -ext3_direct_io_get_blocks(struct inode *inode, sector_t iblock, - struct buffer_head *bh_result, int create) +static int ext3_get_block(struct inode *inode, sector_t iblock, + struct buffer_head *bh_result, int create) { handle_t *handle = journal_current_handle(); int ret = 0; @@ -992,12 +991,6 @@ get_block: return ret; } -static int ext3_get_block(struct inode *inode, sector_t iblock, - struct buffer_head *bh_result, int create) -{ - return ext3_direct_io_get_blocks(inode, iblock, bh_result, create); -} - /* * `handle' can be NULL if create is zero */ @@ -1648,11 +1641,10 @@ static ssize_t ext3_direct_IO(int rw, struct kiocb *iocb, ret = blockdev_direct_IO(rw, iocb, inode, inode->i_sb->s_bdev, iov, offset, nr_segs, - ext3_direct_io_get_blocks, NULL); + ext3_get_block, NULL); /* - * Reacquire the handle: ext3_direct_io_get_block() can restart the - * transaction + * Reacquire the handle: ext3_get_block() can restart the transaction */ handle = journal_current_handle(); |