last_eb_blk = ocfs2_et_get_last_eb_blk(et);
 
        if (last_eb_blk) {
-               retval = ocfs2_read_block(osb, last_eb_blk,
-                                         &eb_bh, OCFS2_BH_CACHED, inode);
+               retval = ocfs2_read_block(inode, last_eb_blk,
+                                         &eb_bh, OCFS2_BH_CACHED);
                if (retval < 0) {
                        mlog_errno(retval);
                        goto bail;
                brelse(bh);
                bh = NULL;
 
-               status = ocfs2_read_block(osb, blkno, &bh, OCFS2_BH_CACHED,
-                                         inode);
+               status = ocfs2_read_block(inode, blkno, &bh, OCFS2_BH_CACHED);
                if (status < 0) {
                        mlog_errno(status);
                        goto bail;
 
                brelse(bh);
                bh = NULL;
-               ret = ocfs2_read_block(OCFS2_SB(inode->i_sb), blkno,
-                                      &bh, OCFS2_BH_CACHED, inode);
+               ret = ocfs2_read_block(inode, blkno, &bh, OCFS2_BH_CACHED);
                if (ret) {
                        mlog_errno(ret);
                        goto out;
                 * ocfs2_figure_insert_type() and ocfs2_add_branch()
                 * may want it later.
                 */
-               ret = ocfs2_read_block(OCFS2_SB(inode->i_sb),
+               ret = ocfs2_read_block(inode,
                                       ocfs2_et_get_last_eb_blk(et), &bh,
-                                      OCFS2_BH_CACHED, inode);
+                                      OCFS2_BH_CACHED);
                if (ret) {
                        mlog_exit(ret);
                        goto out;
        if (path->p_tree_depth) {
                struct ocfs2_extent_block *eb;
 
-               ret = ocfs2_read_block(OCFS2_SB(inode->i_sb),
+               ret = ocfs2_read_block(inode,
                                       ocfs2_et_get_last_eb_blk(et),
-                                      &last_eb_bh, OCFS2_BH_CACHED, inode);
+                                      &last_eb_bh, OCFS2_BH_CACHED);
                if (ret) {
                        mlog_exit(ret);
                        goto out;
 
        depth = path->p_tree_depth;
        if (depth > 0) {
-               ret = ocfs2_read_block(OCFS2_SB(inode->i_sb),
+               ret = ocfs2_read_block(inode,
                                       ocfs2_et_get_last_eb_blk(et),
-                                      &last_eb_bh, OCFS2_BH_CACHED, inode);
+                                      &last_eb_bh, OCFS2_BH_CACHED);
                if (ret < 0) {
                        mlog_errno(ret);
                        goto out;
                goto bail;
        }
 
-       status = ocfs2_read_block(osb, OCFS2_I(inode)->ip_blkno, &bh,
-                                 OCFS2_BH_CACHED, inode);
+       status = ocfs2_read_block(inode, OCFS2_I(inode)->ip_blkno, &bh,
+                                 OCFS2_BH_CACHED);
        if (status < 0) {
                iput(inode);
                mlog_errno(status);
        ocfs2_init_dealloc_ctxt(&(*tc)->tc_dealloc);
 
        if (fe->id2.i_list.l_tree_depth) {
-               status = ocfs2_read_block(osb, le64_to_cpu(fe->i_last_eb_blk),
-                                         &last_eb_bh, OCFS2_BH_CACHED, inode);
+               status = ocfs2_read_block(inode, le64_to_cpu(fe->i_last_eb_blk),
+                                         &last_eb_bh, OCFS2_BH_CACHED);
                if (status < 0) {
                        mlog_errno(status);
                        goto bail;
 
                goto bail;
        }
 
-       status = ocfs2_read_block(OCFS2_SB(inode->i_sb),
-                                 OCFS2_I(inode)->ip_blkno,
-                                 &bh, OCFS2_BH_CACHED, inode);
+       status = ocfs2_read_block(inode, OCFS2_I(inode)->ip_blkno,
+                                 &bh, OCFS2_BH_CACHED);
        if (status < 0) {
                mlog_errno(status);
                goto bail;
 {
        int ret;
        struct buffer_head *di_bh = NULL;
-       struct ocfs2_super *osb = OCFS2_SB(inode->i_sb);
 
        BUG_ON(!PageLocked(page));
        BUG_ON(!(OCFS2_I(inode)->ip_dyn_features & OCFS2_INLINE_DATA_FL));
 
-       ret = ocfs2_read_block(osb, OCFS2_I(inode)->ip_blkno, &di_bh,
-                              OCFS2_BH_CACHED, inode);
+       ret = ocfs2_read_block(inode, OCFS2_I(inode)->ip_blkno, &di_bh,
+                              OCFS2_BH_CACHED);
        if (ret) {
                mlog_errno(ret);
                goto out;
 
        return status;
 }
 
-int ocfs2_read_blocks(struct ocfs2_super *osb, u64 block, int nr,
-                     struct buffer_head *bhs[], int flags,
-                     struct inode *inode)
+int ocfs2_read_blocks(struct inode *inode, u64 block, int nr,
+                     struct buffer_head *bhs[], int flags)
 {
        int status = 0;
-       struct super_block *sb;
        int i, ignore_cache = 0;
        struct buffer_head *bh;
 
-       mlog_entry("(block=(%llu), nr=(%d), flags=%d, inode=%p)\n",
-                  (unsigned long long)block, nr, flags, inode);
+       mlog_entry("(inode=%p, block=(%llu), nr=(%d), flags=%d)\n",
+                  inode, (unsigned long long)block, nr, flags);
 
-       BUG_ON((flags & OCFS2_BH_READAHEAD) &&
-              (!inode || !(flags & OCFS2_BH_CACHED)));
+       BUG_ON(!inode);
+       BUG_ON((flags & OCFS2_BH_READAHEAD) && !(flags & OCFS2_BH_CACHED));
 
-       if (osb == NULL || osb->sb == NULL || bhs == NULL) {
+       if (bhs == NULL) {
                status = -EINVAL;
                mlog_errno(status);
                goto bail;
                goto bail;
        }
 
-       sb = osb->sb;
-
-       if (flags & OCFS2_BH_CACHED && !inode)
-               flags &= ~OCFS2_BH_CACHED;
-
-       if (inode)
-               mutex_lock(&OCFS2_I(inode)->ip_io_mutex);
+       mutex_lock(&OCFS2_I(inode)->ip_io_mutex);
        for (i = 0 ; i < nr ; i++) {
                if (bhs[i] == NULL) {
-                       bhs[i] = sb_getblk(sb, block++);
+                       bhs[i] = sb_getblk(inode->i_sb, block++);
                        if (bhs[i] == NULL) {
-                               if (inode)
-                                       mutex_unlock(&OCFS2_I(inode)->ip_io_mutex);
+                               mutex_unlock(&OCFS2_I(inode)->ip_io_mutex);
                                status = -EIO;
                                mlog_errno(status);
                                goto bail;
                /* Always set the buffer in the cache, even if it was
                 * a forced read, or read-ahead which hasn't yet
                 * completed. */
-               if (inode)
-                       ocfs2_set_buffer_uptodate(inode, bh);
+               ocfs2_set_buffer_uptodate(inode, bh);
        }
-       if (inode)
-               mutex_unlock(&OCFS2_I(inode)->ip_io_mutex);
+       mutex_unlock(&OCFS2_I(inode)->ip_io_mutex);
 
        mlog(ML_BH_IO, "block=(%llu), nr=(%d), cached=%s, flags=0x%x\n", 
             (unsigned long long)block, nr,
 
 void ocfs2_end_buffer_io_sync(struct buffer_head *bh,
                             int uptodate);
 
-static inline int ocfs2_read_block(struct ocfs2_super          *osb,
+static inline int ocfs2_read_block(struct inode               *inode,
                                   u64                  off,
                                   struct buffer_head **bh,
-                                  int                  flags,
-                                  struct inode        *inode);
+                                  int                  flags);
 
 int ocfs2_write_block(struct ocfs2_super          *osb,
                      struct buffer_head  *bh,
                      struct inode        *inode);
-int ocfs2_read_blocks(struct ocfs2_super          *osb,
+int ocfs2_read_blocks(struct inode       *inode,
                      u64                  block,
                      int                  nr,
                      struct buffer_head  *bhs[],
-                     int                  flags,
-                     struct inode        *inode);
+                     int                  flags);
 int ocfs2_read_blocks_sync(struct ocfs2_super *osb, u64 block,
                           unsigned int nr, struct buffer_head *bhs[]);
 
 #define OCFS2_BH_CACHED            1
 #define OCFS2_BH_READAHEAD         8
 
-static inline int ocfs2_read_block(struct ocfs2_super * osb, u64 off,
-                                  struct buffer_head **bh, int flags,
-                                  struct inode *inode)
+static inline int ocfs2_read_block(struct inode *inode, u64 off,
+                                  struct buffer_head **bh, int flags)
 {
        int status = 0;
 
                goto bail;
        }
 
-       status = ocfs2_read_blocks(osb, off, 1, bh,
-                                  flags, inode);
+       status = ocfs2_read_blocks(inode, off, 1, bh, flags);
 
 bail:
        return status;
 
        struct ocfs2_dinode *di;
        struct ocfs2_inline_data *data;
 
-       ret = ocfs2_read_block(OCFS2_SB(dir->i_sb), OCFS2_I(dir)->ip_blkno,
-                              &di_bh, OCFS2_BH_CACHED, dir);
+       ret = ocfs2_read_block(dir, OCFS2_I(dir)->ip_blkno, &di_bh,
+                              OCFS2_BH_CACHED);
        if (ret) {
                mlog_errno(ret);
                goto out;
        struct ocfs2_dinode *di;
        struct ocfs2_inline_data *data;
 
-       ret = ocfs2_read_block(OCFS2_SB(dir->i_sb), OCFS2_I(dir)->ip_blkno,
-                              &di_bh, OCFS2_BH_CACHED, dir);
+       ret = ocfs2_read_block(dir, OCFS2_I(dir)->ip_blkno,
+                              &di_bh, OCFS2_BH_CACHED);
        if (ret) {
                mlog_errno(ret);
                goto out;
        struct ocfs2_inline_data *data;
        struct ocfs2_dir_entry *de;
 
-       ret = ocfs2_read_block(OCFS2_SB(inode->i_sb), OCFS2_I(inode)->ip_blkno,
-                              &di_bh, OCFS2_BH_CACHED, inode);
+       ret = ocfs2_read_block(inode, OCFS2_I(inode)->ip_blkno,
+                              &di_bh, OCFS2_BH_CACHED);
        if (ret) {
                mlog(ML_ERROR, "Unable to read inode block for dir %llu\n",
                     (unsigned long long)OCFS2_I(inode)->ip_blkno);
 
        } else {
                /* Boo, we have to go to disk. */
                /* read bh, cast, ocfs2_refresh_inode */
-               status = ocfs2_read_block(OCFS2_SB(inode->i_sb), oi->ip_blkno,
-                                         bh, OCFS2_BH_CACHED, inode);
+               status = ocfs2_read_block(inode, oi->ip_blkno,
+                                         bh, OCFS2_BH_CACHED);
                if (status < 0) {
                        mlog_errno(status);
                        goto bail_refresh;
                return 0;
        }
 
-       status = ocfs2_read_block(OCFS2_SB(inode->i_sb),
+       status = ocfs2_read_block(inode,
                                  OCFS2_I(inode)->ip_blkno,
                                  ret_bh,
-                                 OCFS2_BH_CACHED,
-                                 inode);
+                                 OCFS2_BH_CACHED);
        if (status < 0)
                mlog_errno(status);
 
 
        struct ocfs2_extent_block *eb;
        struct ocfs2_extent_list *el;
 
-       ret = ocfs2_read_block(OCFS2_SB(inode->i_sb), last_eb_blk,
-                              &eb_bh, OCFS2_BH_CACHED, inode);
+       ret = ocfs2_read_block(inode, last_eb_blk,
+                              &eb_bh, OCFS2_BH_CACHED);
        if (ret) {
                mlog_errno(ret);
                goto out;
                if (le64_to_cpu(eb->h_next_leaf_blk) == 0ULL)
                        goto no_more_extents;
 
-               ret = ocfs2_read_block(OCFS2_SB(inode->i_sb),
+               ret = ocfs2_read_block(inode,
                                       le64_to_cpu(eb->h_next_leaf_blk),
-                                      &next_eb_bh, OCFS2_BH_CACHED, inode);
+                                      &next_eb_bh, OCFS2_BH_CACHED);
                if (ret) {
                        mlog_errno(ret);
                        goto out;
        if (ret == 0)
                goto out;
 
-       ret = ocfs2_read_block(OCFS2_SB(inode->i_sb), OCFS2_I(inode)->ip_blkno,
-                              &di_bh, OCFS2_BH_CACHED, inode);
+       ret = ocfs2_read_block(inode, OCFS2_I(inode)->ip_blkno,
+                              &di_bh, OCFS2_BH_CACHED);
        if (ret) {
                mlog_errno(ret);
                goto out;
 
         */
        BUG_ON(mark_unwritten && !ocfs2_sparse_alloc(osb));
 
-       status = ocfs2_read_block(osb, OCFS2_I(inode)->ip_blkno, &bh,
-                                 OCFS2_BH_CACHED, inode);
+       status = ocfs2_read_block(inode, OCFS2_I(inode)->ip_blkno, &bh,
+                                 OCFS2_BH_CACHED);
        if (status < 0) {
                mlog_errno(status);
                goto leave;
        struct buffer_head *bh = NULL;
        struct ocfs2_inode_info *oi = OCFS2_I(inode);
 
-       ret = ocfs2_read_block(OCFS2_SB(inode->i_sb),
-                              oi->ip_blkno, &bh, OCFS2_BH_CACHED, inode);
+       ret = ocfs2_read_block(inode, oi->ip_blkno, &bh, OCFS2_BH_CACHED);
        if (ret < 0) {
                mlog_errno(ret);
                goto out;
        struct buffer_head *di_bh = NULL;
 
        if (OCFS2_I(inode)->ip_dyn_features & OCFS2_INLINE_DATA_FL) {
-               ret = ocfs2_read_block(OCFS2_SB(inode->i_sb),
-                                      OCFS2_I(inode)->ip_blkno, &di_bh,
-                                      OCFS2_BH_CACHED, inode);
+               ret = ocfs2_read_block(inode, OCFS2_I(inode)->ip_blkno,
+                                      &di_bh, OCFS2_BH_CACHED);
                if (ret) {
                        mlog_errno(ret);
                        goto out;
 
        }
 
        if (can_lock)
-               status = ocfs2_read_block(osb, args->fi_blkno, &bh, 0,
-                                         inode);
+               status = ocfs2_read_block(inode, args->fi_blkno, &bh, 0);
        else
                status = ocfs2_read_blocks_sync(osb, args->fi_blkno, 1, &bh);
        if (status < 0) {
                goto fail;
        }
 
-       tmperr = ocfs2_read_block(OCFS2_SB(inode->i_sb), p_blkno, &bh,
-                                 readflags, inode);
+       tmperr = ocfs2_read_block(inode, p_blkno, &bh, readflags);
        if (tmperr < 0)
                goto fail;
 
 
        }
        SET_INODE_JOURNAL(inode);
 
-       status = ocfs2_read_block(osb, OCFS2_I(inode)->ip_blkno, bh, 0, inode);
+       status = ocfs2_read_block(inode, OCFS2_I(inode)->ip_blkno, bh, 0);
        if (status < 0) {
                mlog_errno(status);
                goto bail;
 
                goto bail;
        }
 
-       status = ocfs2_read_block(osb, OCFS2_I(inode)->ip_blkno,
-                                 &alloc_bh, 0, inode);
+       status = ocfs2_read_block(inode, OCFS2_I(inode)->ip_blkno,
+                                 &alloc_bh, 0);
        if (status < 0) {
                mlog_errno(status);
                goto bail;
 
        mutex_lock(&inode->i_mutex);
 
-       status = ocfs2_read_block(osb, OCFS2_I(inode)->ip_blkno,
-                                 &alloc_bh, 0, inode);
+       status = ocfs2_read_block(inode, OCFS2_I(inode)->ip_blkno,
+                                 &alloc_bh, 0);
        if (status < 0) {
                mlog_errno(status);
                goto bail;
 
 
        mlog_entry("(inode->i_ino = %lu)\n", inode->i_ino);
 
-       status = ocfs2_read_block(osb,
+       status = ocfs2_read_block(orphan_dir_inode,
                                  OCFS2_I(orphan_dir_inode)->ip_blkno,
-                                 &orphan_dir_bh, OCFS2_BH_CACHED,
-                                 orphan_dir_inode);
+                                 &orphan_dir_bh, OCFS2_BH_CACHED);
        if (status < 0) {
                mlog_errno(status);
                goto leave;
 
        lgd_blkno = ocfs2_which_cluster_group(main_bm_inode,
                                              first_new_cluster - 1);
 
-       ret = ocfs2_read_block(osb, lgd_blkno, &group_bh, OCFS2_BH_CACHED,
-                              main_bm_inode);
+       ret = ocfs2_read_block(main_bm_inode, lgd_blkno, &group_bh,
+                              OCFS2_BH_CACHED);
        if (ret < 0) {
                mlog_errno(ret);
                goto out_unlock;
 
         * be !NULL.  Thus, ocfs2_read_blocks() will ignore blocknr.  If
         * this is not true, the read of -1 (UINT64_MAX) will fail.
         */
-       ret = ocfs2_read_blocks(osb, -1, si->si_blocks, si->si_bh, 0,
-                               si->si_inode);
+       ret = ocfs2_read_blocks(si->si_inode, -1, si->si_blocks, si->si_bh, 0);
        if (ret == 0) {
                spin_lock(&osb->osb_lock);
                ocfs2_update_slot_info(si);
                     (unsigned long long)blkno);
 
                bh = NULL;  /* Acquire a fresh bh */
-               status = ocfs2_read_block(osb, blkno, &bh, 0, si->si_inode);
+               status = ocfs2_read_block(si->si_inode, blkno, &bh, 0);
                if (status < 0) {
                        mlog_errno(status);
                        goto bail;
 
        struct ocfs2_group_desc *gd;
        struct inode *alloc_inode = ac->ac_inode;
 
-       ret = ocfs2_read_block(OCFS2_SB(alloc_inode->i_sb), gd_blkno,
-                              &group_bh, OCFS2_BH_CACHED, alloc_inode);
+       ret = ocfs2_read_block(alloc_inode, gd_blkno,
+                              &group_bh, OCFS2_BH_CACHED);
        if (ret < 0) {
                mlog_errno(ret);
                return ret;
             bits_wanted, chain,
             (unsigned long long)OCFS2_I(alloc_inode)->ip_blkno);
 
-       status = ocfs2_read_block(OCFS2_SB(alloc_inode->i_sb),
+       status = ocfs2_read_block(alloc_inode,
                                  le64_to_cpu(cl->cl_recs[chain].c_blkno),
-                                 &group_bh, OCFS2_BH_CACHED, alloc_inode);
+                                 &group_bh, OCFS2_BH_CACHED);
        if (status < 0) {
                mlog_errno(status);
                goto bail;
                next_group = le64_to_cpu(bg->bg_next_group);
                prev_group_bh = group_bh;
                group_bh = NULL;
-               status = ocfs2_read_block(OCFS2_SB(alloc_inode->i_sb),
+               status = ocfs2_read_block(alloc_inode,
                                          next_group, &group_bh,
-                                         OCFS2_BH_CACHED, alloc_inode);
+                                         OCFS2_BH_CACHED);
                if (status < 0) {
                        mlog_errno(status);
                        goto bail;
 {
        int status = 0;
        u32 tmp_used;
-       struct ocfs2_super *osb = OCFS2_SB(alloc_inode->i_sb);
        struct ocfs2_dinode *fe = (struct ocfs2_dinode *) alloc_bh->b_data;
        struct ocfs2_chain_list *cl = &fe->id2.i_chain;
        struct buffer_head *group_bh = NULL;
             (unsigned long long)OCFS2_I(alloc_inode)->ip_blkno, count,
             (unsigned long long)bg_blkno, start_bit);
 
-       status = ocfs2_read_block(osb, bg_blkno, &group_bh, OCFS2_BH_CACHED,
-                                 alloc_inode);
+       status = ocfs2_read_block(alloc_inode, bg_blkno, &group_bh,
+                                 OCFS2_BH_CACHED);
        if (status < 0) {
                mlog_errno(status);
                goto bail;
 
 
        mlog_entry_void();
 
-       status = ocfs2_read_block(OCFS2_SB(inode->i_sb),
+       status = ocfs2_read_block(inode,
                                  OCFS2_I(inode)->ip_blkno,
                                  bh,
-                                 OCFS2_BH_CACHED,
-                                 inode);
+                                 OCFS2_BH_CACHED);
        if (status < 0) {
                mlog_errno(status);
                link = ERR_PTR(status);
 
        if (!di->i_xattr_loc)
                return ret;
 
-       ret = ocfs2_read_block(OCFS2_SB(inode->i_sb),
+       ret = ocfs2_read_block(inode,
                               le64_to_cpu(di->i_xattr_loc),
-                              &blk_bh, OCFS2_BH_CACHED, inode);
+                              &blk_bh, OCFS2_BH_CACHED);
        if (ret < 0) {
                mlog_errno(ret);
                return ret;
                blkno = ocfs2_clusters_to_blocks(inode->i_sb, p_cluster);
                /* Copy ocfs2_xattr_value */
                for (i = 0; i < num_clusters * bpc; i++, blkno++) {
-                       ret = ocfs2_read_block(OCFS2_SB(inode->i_sb), blkno,
-                                              &bh, OCFS2_BH_CACHED, inode);
+                       ret = ocfs2_read_block(inode, blkno,
+                                              &bh, OCFS2_BH_CACHED);
                        if (ret) {
                                mlog_errno(ret);
                                goto out;
 
        memset(&xs->bucket, 0, sizeof(xs->bucket));
 
-       ret = ocfs2_read_block(OCFS2_SB(inode->i_sb),
+       ret = ocfs2_read_block(inode,
                               le64_to_cpu(di->i_xattr_loc),
-                              &blk_bh, OCFS2_BH_CACHED, inode);
+                              &blk_bh, OCFS2_BH_CACHED);
        if (ret < 0) {
                mlog_errno(ret);
                return ret;
                blkno = ocfs2_clusters_to_blocks(inode->i_sb, p_cluster);
 
                for (i = 0; i < num_clusters * bpc; i++, blkno++) {
-                       ret = ocfs2_read_block(OCFS2_SB(inode->i_sb), blkno,
-                                              &bh, OCFS2_BH_CACHED, inode);
+                       ret = ocfs2_read_block(inode, blkno,
+                                              &bh, OCFS2_BH_CACHED);
                        if (ret) {
                                mlog_errno(ret);
                                goto out_commit;
        u64 blk, bg_blkno;
        u16 bit;
 
-       ret = ocfs2_read_block(osb, block, &blk_bh,
-                              OCFS2_BH_CACHED, inode);
+       ret = ocfs2_read_block(inode, block, &blk_bh,
+                              OCFS2_BH_CACHED);
        if (ret < 0) {
                mlog_errno(ret);
                goto out;
        if (!di->i_xattr_loc)
                return ret;
 
-       ret = ocfs2_read_block(OCFS2_SB(inode->i_sb),
+       ret = ocfs2_read_block(inode,
                               le64_to_cpu(di->i_xattr_loc),
-                              &blk_bh, OCFS2_BH_CACHED, inode);
+                              &blk_bh, OCFS2_BH_CACHED);
        if (ret < 0) {
                mlog_errno(ret);
                return ret;
                        break;
                }
 
-               ret = ocfs2_read_block(OCFS2_SB(inode->i_sb),
+               ret = ocfs2_read_block(inode,
                                       header_bh->b_blocknr + block_off,
-                                      &name_bh, OCFS2_BH_CACHED, inode);
+                                      &name_bh, OCFS2_BH_CACHED);
                if (ret) {
                        mlog_errno(ret);
                        break;
        u32 last_hash;
        u64 blkno;
 
-       ret = ocfs2_read_block(OCFS2_SB(inode->i_sb), p_blkno,
-                              &bh, OCFS2_BH_CACHED, inode);
+       ret = ocfs2_read_block(inode, p_blkno, &bh, OCFS2_BH_CACHED);
        if (ret) {
                mlog_errno(ret);
                goto out;
 
                blkno = p_blkno + bucket * blk_per_bucket;
 
-               ret = ocfs2_read_block(OCFS2_SB(inode->i_sb), blkno,
-                                      &bh, OCFS2_BH_CACHED, inode);
+               ret = ocfs2_read_block(inode, blkno, &bh, OCFS2_BH_CACHED);
                if (ret) {
                        mlog_errno(ret);
                        goto out;
                 * If we have found the xattr enty, read all the blocks in
                 * this bucket.
                 */
-               ret = ocfs2_read_blocks(OCFS2_SB(inode->i_sb),
-                                       xs->bucket.bhs[0]->b_blocknr + 1,
+               ret = ocfs2_read_blocks(inode, xs->bucket.bhs[0]->b_blocknr + 1,
                                        blk_per_bucket - 1, &xs->bucket.bhs[1],
-                                       OCFS2_BH_CACHED, inode);
+                                       OCFS2_BH_CACHED);
                if (ret) {
                        mlog_errno(ret);
                        goto out;
             clusters, blkno);
 
        for (i = 0; i < num_buckets; i++, blkno += blk_per_bucket) {
-               ret = ocfs2_read_blocks(OCFS2_SB(inode->i_sb),
-                                       blkno, blk_per_bucket,
-                                       bucket.bhs, OCFS2_BH_CACHED, inode);
+               ret = ocfs2_read_blocks(inode, blkno, blk_per_bucket,
+                                       bucket.bhs, OCFS2_BH_CACHED);
                if (ret) {
                        mlog_errno(ret);
                        goto out;
 
        if (!xs->not_found) {
                if (OCFS2_XATTR_BUCKET_SIZE != blocksize) {
-                       ret = ocfs2_read_blocks(OCFS2_SB(inode->i_sb),
+                       ret = ocfs2_read_blocks(inode,
                                        xs->bucket.bhs[0]->b_blocknr + 1,
                                        blk_per_bucket - 1, &xs->bucket.bhs[1],
-                                       OCFS2_BH_CACHED, inode);
+                                       OCFS2_BH_CACHED);
                        if (ret) {
                                mlog_errno(ret);
                                return ret;
        if (!bhs)
                return -ENOMEM;
 
-       ret = ocfs2_read_blocks(osb, blkno, blk_per_bucket, bhs,
-                               OCFS2_BH_CACHED, inode);
+       ret = ocfs2_read_blocks(inode, blkno, blk_per_bucket, bhs,
+                               OCFS2_BH_CACHED);
        if (ret)
                goto out;
 
                        goto out;
                }
 
-               ret = ocfs2_read_block(osb, prev_blkno,
-                                      &old_bh, OCFS2_BH_CACHED, inode);
+               ret = ocfs2_read_block(inode, prev_blkno,
+                                      &old_bh, OCFS2_BH_CACHED);
                if (ret < 0) {
                        mlog_errno(ret);
                        brelse(new_bh);
        u16 i, blk_per_bucket = ocfs2_blocks_per_xattr_bucket(inode->i_sb);
 
        if (!new)
-               return ocfs2_read_blocks(OCFS2_SB(inode->i_sb), blkno,
+               return ocfs2_read_blocks(inode, blkno,
                                         blk_per_bucket, bhs,
-                                        OCFS2_BH_CACHED, inode);
+                                        OCFS2_BH_CACHED);
 
        for (i = 0; i < blk_per_bucket; i++) {
                bhs[i] = sb_getblk(inode->i_sb, blkno + i);
        ocfs2_journal_dirty(handle, first_bh);
 
        /* update the new bucket header. */
-       ret = ocfs2_read_block(osb, to_blk_start, &bh, OCFS2_BH_CACHED, inode);
+       ret = ocfs2_read_block(inode, to_blk_start, &bh, OCFS2_BH_CACHED);
        if (ret < 0) {
                mlog_errno(ret);
                goto out;
                goto out;
        }
 
-       ret = ocfs2_read_block(osb, p_blkno,
-                              &first_bh, OCFS2_BH_CACHED, inode);
+       ret = ocfs2_read_block(inode, p_blkno,
+                              &first_bh, OCFS2_BH_CACHED);
        if (ret) {
                mlog_errno(ret);
                goto out;
             (unsigned long long)xs->bucket.bhs[0]->b_blocknr);
 
        if (!xs->bucket.bhs[1]) {
-               ret = ocfs2_read_blocks(osb,
+               ret = ocfs2_read_blocks(inode,
                                        xs->bucket.bhs[0]->b_blocknr + 1,
                                        blk_per_bucket - 1, &xs->bucket.bhs[1],
-                                       OCFS2_BH_CACHED, inode);
+                                       OCFS2_BH_CACHED);
                if (ret) {
                        mlog_errno(ret);
                        goto out;
        BUG_ON(value_blk != (offset + OCFS2_XATTR_ROOT_SIZE - 1) / blocksize);
        value_blk += header_bh->b_blocknr;
 
-       ret = ocfs2_read_block(OCFS2_SB(inode->i_sb), value_blk,
-                              &value_bh, OCFS2_BH_CACHED, inode);
+       ret = ocfs2_read_block(inode, value_blk,
+                              &value_bh, OCFS2_BH_CACHED);
        if (ret) {
                mlog_errno(ret);
                goto out;