Re: [PATCH 1/1] ocfs2: Deletion of unnecessary checks before two function calls

Julia Lawall
2014-11-02T10:51:47Z

On Sun, 2 Nov 2014, SF Markus Elfring wrote:

> The functions iput() and ocfs2_free_path() test whether their argument
> is NULL and then return immediately. Thus the test around the call
> is not needed.

Please check whether more labels could be added to avoid executing
unnecessary code.

julia

> This issue was detected by using the Coccinelle software.
>
> Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
> ---
> fs/ocfs2/alloc.c | 15 +++++----------
> fs/ocfs2/ioctl.c | 3 +--
> fs/ocfs2/journal.c | 9 +++------
> fs/ocfs2/localalloc.c | 9 +++------
> fs/ocfs2/namei.c | 3 +--
> fs/ocfs2/slot_map.c | 3 +--
> fs/ocfs2/super.c | 3 +--
> 7 files changed, 15 insertions(+), 30 deletions(-)
>
> diff --git a/fs/ocfs2/alloc.c b/fs/ocfs2/alloc.c
> index a93bf98..2e0ab63 100644
> --- a/fs/ocfs2/alloc.c
> +++ b/fs/ocfs2/alloc.c
> @@ -3453,8 +3453,7 @@ static int ocfs2_merge_rec_right(struct ocfs2_path *left_path,
> subtree_index);
> }
> out:
> - if (right_path)
> - ocfs2_free_path(right_path);
> + ocfs2_free_path(right_path);
> return ret;
> }
>
> @@ -3647,8 +3646,7 @@ static int ocfs2_merge_rec_left(struct ocfs2_path *right_path,
> right_path, subtree_index);
> }
> out:
> - if (left_path)
> - ocfs2_free_path(left_path);
> + ocfs2_free_path(left_path);
> return ret;
> }
>
> @@ -4431,10 +4429,8 @@ ocfs2_figure_merge_contig_type(struct ocfs2_extent_tree *et,
> }
>
> out:
> - if (left_path)
> - ocfs2_free_path(left_path);
> - if (right_path)
> - ocfs2_free_path(right_path);
> + ocfs2_free_path(left_path);
> + ocfs2_free_path(right_path);
>
> return ret;
> }
> @@ -6157,8 +6153,7 @@ int ocfs2_begin_truncate_log_recovery(struct ocfs2_super *osb,
> }
>
> bail:
> - if (tl_inode)
> - iput(tl_inode);
> + iput(tl_inode);
> brelse(tl_bh);
>
> if (status < 0 && (*tl_copy)) {
> diff --git a/fs/ocfs2/ioctl.c b/fs/ocfs2/ioctl.c
> index 53e6c40..28afb56 100644
> --- a/fs/ocfs2/ioctl.c
> +++ b/fs/ocfs2/ioctl.c
> @@ -606,8 +606,7 @@ bail:
> if (gb_inode)
> mutex_unlock(&gb_inode->i_mutex);
>
> - if (gb_inode)
> - iput(gb_inode);
> + iput(gb_inode);
>
> brelse(bh);
>
> diff --git a/fs/ocfs2/journal.c b/fs/ocfs2/journal.c
> index 4b0c688..f94be68 100644
> --- a/fs/ocfs2/journal.c
> +++ b/fs/ocfs2/journal.c
> @@ -1009,8 +1009,7 @@ void ocfs2_journal_shutdown(struct ocfs2_super *osb)
>
> // up_write(&journal->j_trans_barrier);
> done:
> - if (inode)
> - iput(inode);
> + iput(inode);
> }
>
> static void ocfs2_clear_journal_error(struct super_block *sb,
> @@ -1646,8 +1645,7 @@ done:
> if (got_lock)
> ocfs2_inode_unlock(inode, 1);
>
> - if (inode)
> - iput(inode);
> + iput(inode);
>
> brelse(bh);
>
> @@ -1755,8 +1753,7 @@ static int ocfs2_trylock_journal(struct ocfs2_super *osb,
>
> ocfs2_inode_unlock(inode, 1);
> bail:
> - if (inode)
> - iput(inode);
> + iput(inode);
>
> return status;
> }
> diff --git a/fs/ocfs2/localalloc.c b/fs/ocfs2/localalloc.c
> index 0440134..7eca277 100644
> --- a/fs/ocfs2/localalloc.c
> +++ b/fs/ocfs2/localalloc.c
> @@ -358,8 +358,7 @@ int ocfs2_load_local_alloc(struct ocfs2_super *osb)
> bail:
> if (status < 0)
> brelse(alloc_bh);
> - if (inode)
> - iput(inode);
> + iput(inode);
>
> trace_ocfs2_load_local_alloc(osb->local_alloc_bits);
>
> @@ -473,8 +472,7 @@ out_mutex:
> iput(main_bm_inode);
>
> out:
> - if (local_alloc_inode)
> - iput(local_alloc_inode);
> + iput(local_alloc_inode);
>
> kfree(alloc_copy);
> }
> @@ -1328,8 +1326,7 @@ bail:
>
> brelse(main_bm_bh);
>
> - if (main_bm_inode)
> - iput(main_bm_inode);
> + iput(main_bm_inode);
>
> kfree(alloc_copy);
>
> diff --git a/fs/ocfs2/namei.c b/fs/ocfs2/namei.c
> index 8add6f1..a02593d 100644
> --- a/fs/ocfs2/namei.c
> +++ b/fs/ocfs2/namei.c
> @@ -1607,8 +1607,7 @@ bail:
> if (new_inode)
> sync_mapping_buffers(old_inode->i_mapping);
>
> - if (new_inode)
> - iput(new_inode);
> + iput(new_inode);
>
> ocfs2_free_dir_lookup_result(&target_lookup_res);
> ocfs2_free_dir_lookup_result(&old_entry_lookup);
> diff --git a/fs/ocfs2/slot_map.c b/fs/ocfs2/slot_map.c
> index a88b2a4..c5c6eb0 100644
> --- a/fs/ocfs2/slot_map.c
> +++ b/fs/ocfs2/slot_map.c
> @@ -322,8 +322,7 @@ static void __ocfs2_free_slot_info(struct ocfs2_slot_info *si)
> if (si == NULL)
> return;
>
> - if (si->si_inode)
> - iput(si->si_inode);
> + iput(si->si_inode);
> if (si->si_bh) {
> for (i = 0; i < si->si_blocks; i++) {
> if (si->si_bh[i]) {
> diff --git a/fs/ocfs2/super.c b/fs/ocfs2/super.c
> index 4142546..5860f0f 100644
> --- a/fs/ocfs2/super.c
> +++ b/fs/ocfs2/super.c
> @@ -1723,8 +1723,7 @@ static int ocfs2_statfs(struct dentry *dentry, struct
> kstatfs *buf)
> ocfs2_inode_unlock(inode, 0);
> status = 0;
> bail:
> - if (inode)
> - iput(inode);
> + iput(inode);
>
> if (status)
> mlog_errno(status);
> --
> 2.1.3
>
>
> --
> To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>