*/
                if (buffer_dirty(bh) && unlikely(bh->b_page->mapping == NULL)) {
                        spin_unlock(lock);
-                       ll_rw_block(REQ_OP_WRITE, 1, &bh);
+                       write_dirty_buffer(bh, 0);
                        spin_lock(lock);
                }
                put_bh(bh);
                if (tbh) {
                        if (buffer_dirty(tbh)) {
                            depth = reiserfs_write_unlock_nested(s);
-                           ll_rw_block(REQ_OP_WRITE, 1, &tbh);
+                           write_dirty_buffer(tbh, 0);
                            reiserfs_write_lock_nested(s, depth);
                        }
                        put_bh(tbh) ;
                }
        }
        /* read in the log blocks, memcpy to the corresponding real block */
-       ll_rw_block(REQ_OP_READ, get_desc_trans_len(desc), log_blocks);
+       bh_read_batch(get_desc_trans_len(desc), log_blocks);
        for (i = 0; i < get_desc_trans_len(desc); i++) {
 
                wait_on_buffer(log_blocks[i]);
                } else
                        bhlist[j++] = bh;
        }
-       ll_rw_block(REQ_OP_READ, j, bhlist);
+       bh = bhlist[0];
+       bh_read_nowait(bh, 0);
+       bh_readahead_batch(j - 1, &bhlist[1], 0);
        for (i = 1; i < j; i++)
                brelse(bhlist[i]);
-       bh = bhlist[0];
        wait_on_buffer(bh);
        if (buffer_uptodate(bh))
                return bh;
 
                if (!buffer_uptodate(bh[j])) {
                        if (depth == -1)
                                depth = reiserfs_write_unlock_nested(s);
-                       ll_rw_block(REQ_OP_READ | REQ_RAHEAD, 1, bh + j);
+                       bh_readahead(bh[j], REQ_RAHEAD);
                }
                brelse(bh[j]);
        }
                        if (!buffer_uptodate(bh) && depth == -1)
                                depth = reiserfs_write_unlock_nested(sb);
 
-                       ll_rw_block(REQ_OP_READ, 1, &bh);
+                       bh_read_nowait(bh, 0);
                        wait_on_buffer(bh);
 
                        if (depth != -1)
 
 /* after journal replay, reread all bitmap and super blocks */
 static int reread_meta_blocks(struct super_block *s)
 {
-       ll_rw_block(REQ_OP_READ, 1, &SB_BUFFER_WITH_SB(s));
-       wait_on_buffer(SB_BUFFER_WITH_SB(s));
-       if (!buffer_uptodate(SB_BUFFER_WITH_SB(s))) {
+       if (bh_read(SB_BUFFER_WITH_SB(s), 0) < 0) {
                reiserfs_warning(s, "reiserfs-2504", "error reading the super");
                return 1;
        }