Merge branch 'akpm' (patches from Andrew Morton)
[cascardo/linux.git] / fs / ocfs2 / refcounttree.c
index bf4dfc1..55767e1 100644 (file)
@@ -612,6 +612,11 @@ static int ocfs2_create_refcount_tree(struct inode *inode,
        }
 
        new_bh = sb_getblk(inode->i_sb, first_blkno);
+       if (!new_bh) {
+               ret = -ENOMEM;
+               mlog_errno(ret);
+               goto out_commit;
+       }
        ocfs2_set_new_buffer_uptodate(&new_tree->rf_ci, new_bh);
 
        ret = ocfs2_journal_access_rb(handle, &new_tree->rf_ci, new_bh,
@@ -1310,7 +1315,7 @@ static int ocfs2_expand_inline_ref_root(handle_t *handle,
 
        new_bh = sb_getblk(sb, blkno);
        if (new_bh == NULL) {
-               ret = -EIO;
+               ret = -ENOMEM;
                mlog_errno(ret);
                goto out;
        }
@@ -1561,7 +1566,7 @@ static int ocfs2_new_leaf_refcount_block(handle_t *handle,
 
        new_bh = sb_getblk(sb, blkno);
        if (new_bh == NULL) {
-               ret = -EIO;
+               ret = -ENOMEM;
                mlog_errno(ret);
                goto out;
        }
@@ -2502,8 +2507,7 @@ static int ocfs2_calc_refcount_meta_credits(struct super_block *sb,
                ocfs2_init_refcount_extent_tree(&et, ci, ref_root_bh);
                *meta_add += ocfs2_extend_meta_needed(et.et_root_el);
                *credits += ocfs2_calc_extend_credits(sb,
-                                                     et.et_root_el,
-                                                     ref_blocks);
+                                                     et.et_root_el);
        } else {
                *credits += OCFS2_EXPAND_REFCOUNT_TREE_CREDITS;
                *meta_add += 1;
@@ -2874,8 +2878,7 @@ static int ocfs2_lock_refcount_allocators(struct super_block *sb,
                meta_add =
                        ocfs2_extend_meta_needed(et->et_root_el);
 
-       *credits += ocfs2_calc_extend_credits(sb, et->et_root_el,
-                                             num_clusters + 2);
+       *credits += ocfs2_calc_extend_credits(sb, et->et_root_el);
 
        ret = ocfs2_calc_refcount_meta_credits(sb, ref_ci, ref_root_bh,
                                               p_cluster, num_clusters,
@@ -3031,7 +3034,7 @@ int ocfs2_duplicate_clusters_by_jbd(handle_t *handle,
        for (i = 0; i < blocks; i++, old_block++, new_block++) {
                new_bh = sb_getblk(osb->sb, new_block);
                if (new_bh == NULL) {
-                       ret = -EIO;
+                       ret = -ENOMEM;
                        mlog_errno(ret);
                        break;
                }
@@ -3625,8 +3628,7 @@ int ocfs2_refcounted_xattr_delete_need(struct inode *inode,
 
                ocfs2_init_refcount_extent_tree(&et, ref_ci, ref_root_bh);
                *credits += ocfs2_calc_extend_credits(inode->i_sb,
-                                                     et.et_root_el,
-                                                     ref_blocks);
+                                                     et.et_root_el);
        }
 
 out: