diff options
author | Zheng Liu <wenqing.lz@taobao.com> | 2011-12-05 15:55:11 +0800 |
---|---|---|
committer | Jan Kara <jack@suse.cz> | 2012-01-09 13:52:07 +0100 |
commit | d03e1292c46721f60830c5d2e334966472002ed0 (patch) | |
tree | bc5a9f63fc52e4b96a6e9faa9457cb47d70b2cc7 /fs/ext3/inode.c | |
parent | bcdd0c1600903e9222abfcde28947406020ccb5d (diff) | |
download | linux-stable-d03e1292c46721f60830c5d2e334966472002ed0.tar.gz linux-stable-d03e1292c46721f60830c5d2e334966472002ed0.tar.bz2 linux-stable-d03e1292c46721f60830c5d2e334966472002ed0.zip |
ext3: replace ll_rw_block with other functions
ll_rw_block() is deprecated. Thus we replace it with other functions.
CC: Jan Kara <jack@suse.cz>
Signed-off-by: Zheng Liu <wenqing.lz@taobao.com>
Signed-off-by: Jan Kara <jack@suse.cz>
Diffstat (limited to 'fs/ext3/inode.c')
-rw-r--r-- | fs/ext3/inode.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/fs/ext3/inode.c b/fs/ext3/inode.c index 9da9125ba3ef..a8d3217c5cfe 100644 --- a/fs/ext3/inode.c +++ b/fs/ext3/inode.c @@ -1136,9 +1136,11 @@ struct buffer_head *ext3_bread(handle_t *handle, struct inode *inode, bh = ext3_getblk(handle, inode, block, create, err); if (!bh) return bh; - if (buffer_uptodate(bh)) + if (bh_uptodate_or_lock(bh)) return bh; - ll_rw_block(READ | REQ_META | REQ_PRIO, 1, &bh); + get_bh(bh); + bh->b_end_io = end_buffer_read_sync; + submit_bh(READ | REQ_META | REQ_PRIO, bh); wait_on_buffer(bh); if (buffer_uptodate(bh)) return bh; @@ -2068,12 +2070,10 @@ static int ext3_block_truncate_page(struct inode *inode, loff_t from) if (PageUptodate(page)) set_buffer_uptodate(bh); - if (!buffer_uptodate(bh)) { - err = -EIO; - ll_rw_block(READ, 1, &bh); - wait_on_buffer(bh); + if (!bh_uptodate_or_lock(bh)) { + err = bh_submit_read(bh); /* Uhhuh. Read error. Complain and punt. */ - if (!buffer_uptodate(bh)) + if (err) goto unlock; } |