Commit f91a2ad2 authored by Badari Pulavarty's avatar Badari Pulavarty Committed by Linus Torvalds

[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: default avatarBadari Pulavarty <pbadari@us.ibm.com>
Cc: Mingming Cao <cmm@us.ibm.com>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent d6859bfc
...@@ -941,9 +941,8 @@ int ext3_get_blocks_handle(handle_t *handle, struct inode *inode, ...@@ -941,9 +941,8 @@ int ext3_get_blocks_handle(handle_t *handle, struct inode *inode,
#define DIO_CREDITS (EXT3_RESERVE_TRANS_BLOCKS + 32) #define DIO_CREDITS (EXT3_RESERVE_TRANS_BLOCKS + 32)
static int static int ext3_get_block(struct inode *inode, sector_t iblock,
ext3_direct_io_get_blocks(struct inode *inode, sector_t iblock, struct buffer_head *bh_result, int create)
struct buffer_head *bh_result, int create)
{ {
handle_t *handle = journal_current_handle(); handle_t *handle = journal_current_handle();
int ret = 0; int ret = 0;
...@@ -992,12 +991,6 @@ ext3_direct_io_get_blocks(struct inode *inode, sector_t iblock, ...@@ -992,12 +991,6 @@ ext3_direct_io_get_blocks(struct inode *inode, sector_t iblock,
return ret; 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 * `handle' can be NULL if create is zero
*/ */
...@@ -1648,11 +1641,10 @@ static ssize_t ext3_direct_IO(int rw, struct kiocb *iocb, ...@@ -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, ret = blockdev_direct_IO(rw, iocb, inode, inode->i_sb->s_bdev, iov,
offset, nr_segs, offset, nr_segs,
ext3_direct_io_get_blocks, NULL); ext3_get_block, NULL);
/* /*
* Reacquire the handle: ext3_direct_io_get_block() can restart the * Reacquire the handle: ext3_get_block() can restart the transaction
* transaction
*/ */
handle = journal_current_handle(); handle = journal_current_handle();
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment