ext3: replace ll_rw_block with other functions
authorZheng Liu <wenqing.lz@taobao.com>
Mon, 5 Dec 2011 07:55:11 +0000 (15:55 +0800)
committerJan Kara <jack@suse.cz>
Mon, 9 Jan 2012 12:52:07 +0000 (13:52 +0100)
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>
fs/ext3/inode.c
fs/ext3/namei.c
fs/ext3/super.c

index 9da9125ba3ef68d8a335119cda3cbe8c9252f298..a8d3217c5cfe45a142f6d15acddff25828786a35 100644 (file)
@@ -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;
        }
 
index 642dc6d66dfd0a4272c3b8c983d3155428fb821a..337c3f3375c45ed80df939db04673466fa2c1cb9 100644 (file)
@@ -921,9 +921,12 @@ restart:
                                num++;
                                bh = ext3_getblk(NULL, dir, b++, 0, &err);
                                bh_use[ra_max] = bh;
-                               if (bh)
-                                       ll_rw_block(READ | REQ_META | REQ_PRIO,
-                                                   1, &bh);
+                               if (bh && !bh_uptodate_or_lock(bh)) {
+                                       get_bh(bh);
+                                       bh->b_end_io = end_buffer_read_sync;
+                                       submit_bh(READ | REQ_META | REQ_PRIO,
+                                                 bh);
+                               }
                        }
                }
                if ((bh = bh_use[ra_ptr++]) == NULL)
index 767fa3a2bd1756da54e222d311f5ad8c487bba77..662cef4569abbca708c43871c837b700552c91f9 100644 (file)
@@ -2231,11 +2231,11 @@ static journal_t *ext3_get_dev_journal(struct super_block *sb,
                goto out_bdev;
        }
        journal->j_private = sb;
-       ll_rw_block(READ, 1, &journal->j_sb_buffer);
-       wait_on_buffer(journal->j_sb_buffer);
-       if (!buffer_uptodate(journal->j_sb_buffer)) {
-               ext3_msg(sb, KERN_ERR, "I/O error on journal device");
-               goto out_journal;
+       if (!bh_uptodate_or_lock(journal->j_sb_buffer)) {
+               if (bh_submit_read(journal->j_sb_buffer)) {
+                       ext3_msg(sb, KERN_ERR, "I/O error on journal device");
+                       goto out_journal;
+               }
        }
        if (be32_to_cpu(journal->j_superblock->s_nr_users) != 1) {
                ext3_msg(sb, KERN_ERR,