down_write(&oi->ip_alloc_sem);
 
        if (first_get_block) {
-               if (ocfs2_sparse_alloc(OCFS2_SB(inode->i_sb)))
+               if (ocfs2_sparse_alloc(osb))
                        ret = ocfs2_zero_tail(inode, di_bh, pos);
                else
                        ret = ocfs2_expand_nonsparse_inode(inode, di_bh, pos,
 
                         * We need to return the correct block within the
                         * cluster which should hold our entry.
                         */
-                       off = ocfs2_dx_dir_hash_idx(OCFS2_SB(dir->i_sb),
+                       off = ocfs2_dx_dir_hash_idx(osb,
                                                    &lookup->dl_hinfo);
                        get_bh(dx_leaves[off]);
                        lookup->dl_dx_leaf_bh = dx_leaves[off];
 
 
        level = write ? DLM_LOCK_EX : DLM_LOCK_PR;
 
-       status = ocfs2_cluster_lock(OCFS2_SB(inode->i_sb), lockres, level, 0,
-                                   0);
+       status = ocfs2_cluster_lock(osb, lockres, level, 0, 0);
        if (status < 0)
                mlog_errno(status);
 
             write ? "EXMODE" : "PRMODE");
 
        if (!ocfs2_mount_local(osb))
-               ocfs2_cluster_unlock(OCFS2_SB(inode->i_sb), lockres, level);
+               ocfs2_cluster_unlock(osb, lockres, level);
 }
 
 /*
 
        lockres = &OCFS2_I(inode)->ip_open_lockres;
 
-       status = ocfs2_cluster_lock(OCFS2_SB(inode->i_sb), lockres,
-                                   DLM_LOCK_PR, 0, 0);
+       status = ocfs2_cluster_lock(osb, lockres, DLM_LOCK_PR, 0, 0);
        if (status < 0)
                mlog_errno(status);
 
         * other nodes and the -EAGAIN will indicate to the caller that
         * this inode is still in use.
         */
-       status = ocfs2_cluster_lock(OCFS2_SB(inode->i_sb), lockres,
-                                   level, DLM_LKF_NOQUEUE, 0);
+       status = ocfs2_cluster_lock(osb, lockres, level, DLM_LKF_NOQUEUE, 0);
 
 out:
        return status;
                goto out;
 
        if(lockres->l_ro_holders)
-               ocfs2_cluster_unlock(OCFS2_SB(inode->i_sb), lockres,
-                                    DLM_LOCK_PR);
+               ocfs2_cluster_unlock(osb, lockres, DLM_LOCK_PR);
        if(lockres->l_ex_holders)
-               ocfs2_cluster_unlock(OCFS2_SB(inode->i_sb), lockres,
-                                    DLM_LOCK_EX);
+               ocfs2_cluster_unlock(osb, lockres, DLM_LOCK_EX);
 
 out:
        return;
             (unsigned long long)OCFS2_I(inode)->ip_blkno,
             ex ? "EXMODE" : "PRMODE");
 
-       if (!ocfs2_is_hard_readonly(OCFS2_SB(inode->i_sb)) &&
+       if (!ocfs2_is_hard_readonly(osb) &&
            !ocfs2_mount_local(osb))
-               ocfs2_cluster_unlock(OCFS2_SB(inode->i_sb), lockres, level);
+               ocfs2_cluster_unlock(osb, lockres, level);
 }
 
 /*
 
        ocfs2_journal_dirty(handle, bh);
 
 out_commit:
-       ocfs2_commit_trans(OCFS2_SB(inode->i_sb), handle);
+       ocfs2_commit_trans(osb, handle);
 out:
        return ret;
 }
 
        trace_ocfs2_clear_inode((unsigned long long)oi->ip_blkno,
                                inode->i_nlink);
 
-       mlog_bug_on_msg(OCFS2_SB(inode->i_sb) == NULL,
+       mlog_bug_on_msg(osb == NULL,
                        "Inode=%lu\n", inode->i_ino);
 
        dquot_drop(inode);
        ocfs2_mark_lockres_freeing(osb, &oi->ip_inode_lockres);
        ocfs2_mark_lockres_freeing(osb, &oi->ip_open_lockres);
 
-       ocfs2_resv_discard(&OCFS2_SB(inode->i_sb)->osb_la_resmap,
+       ocfs2_resv_discard(&osb->osb_la_resmap,
                           &oi->ip_la_data_resv);
        ocfs2_resv_init_once(&oi->ip_la_data_resv);
 
         * the journal is flushed before journal shutdown. Thus it is safe to
         * have inodes get cleaned up after journal shutdown.
         */
-       jbd2_journal_release_jbd_inode(OCFS2_SB(inode->i_sb)->journal->j_journal,
+       jbd2_journal_release_jbd_inode(osb->journal->j_journal,
                                       &oi->ip_jinode);
 }
 
 
        unsigned int ext_flags;
        struct ocfs2_super *osb = OCFS2_SB(inode->i_sb);
 
-       if (!ocfs2_refcount_tree(OCFS2_SB(inode->i_sb))) {
+       if (!ocfs2_refcount_tree(osb)) {
                return ocfs2_error(inode->i_sb, "Inode %lu want to use refcount tree, but the feature bit is not set in the super block\n",
                                   inode->i_ino);
        }
        trace_ocfs2_add_refcount_flag(ref_blocks, credits);
 
        if (ref_blocks) {
-               ret = ocfs2_reserve_new_metadata_blocks(OCFS2_SB(inode->i_sb),
+               ret = ocfs2_reserve_new_metadata_blocks(osb,
                                                        ref_blocks, &meta_ac);
                if (ret) {
                        mlog_errno(ret);
 
 
        memset(bg, 0, sb->s_blocksize);
        strcpy(bg->bg_signature, OCFS2_GROUP_DESC_SIGNATURE);
-       bg->bg_generation = cpu_to_le32(OCFS2_SB(sb)->fs_generation);
+       bg->bg_generation = cpu_to_le32(osb->fs_generation);
        bg->bg_size = cpu_to_le16(ocfs2_group_bitmap_size(sb, 1,
                                                osb->s_feature_incompat));
        bg->bg_chain = cpu_to_le16(my_chain);
                                OCFS2_I(inode)->ip_clusters, max_bits);
                }
 
-               ret = ocfs2_block_group_find_clear_bits(OCFS2_SB(inode->i_sb),
+               ret = ocfs2_block_group_find_clear_bits(osb,
                                                        group_bh, bits_wanted,
                                                        max_bits, res);
                if (ret)
 
                ocfs2_schedule_truncate_log_flush(osb, 0);
        }
 
-       if (jbd2_journal_start_commit(OCFS2_SB(sb)->journal->j_journal,
+       if (jbd2_journal_start_commit(osb->journal->j_journal,
                                      &target)) {
                if (wait)
-                       jbd2_log_wait_commit(OCFS2_SB(sb)->journal->j_journal,
+                       jbd2_log_wait_commit(osb->journal->j_journal,
                                             target);
        }
        return 0;
 
                .not_found = -ENODATA,
        };
 
-       if (!ocfs2_supports_xattr(OCFS2_SB(inode->i_sb)))
+       if (!ocfs2_supports_xattr(osb))
                return -EOPNOTSUPP;
 
        /*