ocfs2: remove duplicated mlog_errno() in ocfs2_relink_block_group
[cascardo/linux.git] / fs / ocfs2 / suballoc.c
index b7e74b5..5397c07 100644 (file)
@@ -1422,7 +1422,7 @@ static int ocfs2_relink_block_group(handle_t *handle,
        int status;
        /* there is a really tiny chance the journal calls could fail,
         * but we wouldn't want inconsistent blocks in *any* case. */
-       u64 fe_ptr, bg_ptr, prev_bg_ptr;
+       u64 bg_ptr, prev_bg_ptr;
        struct ocfs2_dinode *fe = (struct ocfs2_dinode *) fe_bh->b_data;
        struct ocfs2_group_desc *bg = (struct ocfs2_group_desc *) bg_bh->b_data;
        struct ocfs2_group_desc *prev_bg = (struct ocfs2_group_desc *) prev_bg_bh->b_data;
@@ -1437,51 +1437,44 @@ static int ocfs2_relink_block_group(handle_t *handle,
                (unsigned long long)le64_to_cpu(bg->bg_blkno),
                (unsigned long long)le64_to_cpu(prev_bg->bg_blkno));
 
-       fe_ptr = le64_to_cpu(fe->id2.i_chain.cl_recs[chain].c_blkno);
        bg_ptr = le64_to_cpu(bg->bg_next_group);
        prev_bg_ptr = le64_to_cpu(prev_bg->bg_next_group);
 
        status = ocfs2_journal_access_gd(handle, INODE_CACHE(alloc_inode),
                                         prev_bg_bh,
                                         OCFS2_JOURNAL_ACCESS_WRITE);
-       if (status < 0) {
-               mlog_errno(status);
-               goto out_rollback;
-       }
+       if (status < 0)
+               goto out;
 
        prev_bg->bg_next_group = bg->bg_next_group;
        ocfs2_journal_dirty(handle, prev_bg_bh);
 
        status = ocfs2_journal_access_gd(handle, INODE_CACHE(alloc_inode),
                                         bg_bh, OCFS2_JOURNAL_ACCESS_WRITE);
-       if (status < 0) {
-               mlog_errno(status);
-               goto out_rollback;
-       }
+       if (status < 0)
+               goto out_rollback_prev_bg;
 
        bg->bg_next_group = fe->id2.i_chain.cl_recs[chain].c_blkno;
        ocfs2_journal_dirty(handle, bg_bh);
 
        status = ocfs2_journal_access_di(handle, INODE_CACHE(alloc_inode),
                                         fe_bh, OCFS2_JOURNAL_ACCESS_WRITE);
-       if (status < 0) {
-               mlog_errno(status);
-               goto out_rollback;
-       }
+       if (status < 0)
+               goto out_rollback_bg;
 
        fe->id2.i_chain.cl_recs[chain].c_blkno = bg->bg_blkno;
        ocfs2_journal_dirty(handle, fe_bh);
 
-out_rollback:
-       if (status < 0) {
-               fe->id2.i_chain.cl_recs[chain].c_blkno = cpu_to_le64(fe_ptr);
-               bg->bg_next_group = cpu_to_le64(bg_ptr);
-               prev_bg->bg_next_group = cpu_to_le64(prev_bg_ptr);
-       }
-
-       if (status)
+out:
+       if (status < 0)
                mlog_errno(status);
        return status;
+
+out_rollback_bg:
+       bg->bg_next_group = cpu_to_le64(bg_ptr);
+out_rollback_prev_bg:
+       prev_bg->bg_next_group = cpu_to_le64(prev_bg_ptr);
+       goto out;
 }
 
 static inline int ocfs2_block_group_reasonably_empty(struct ocfs2_group_desc *bg,