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>
        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;
        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;
        }
 
 
                                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)
 
                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,