[Ocfs2-devel] [PATCH 1/1] ocfs2: remove redundant and incorrect mlog_error

Joel Becker jlbec at evilplan.org
Tue Aug 14 23:37:11 PDT 2012


On Thu, Jun 02, 2011 at 12:43:40PM +0800, Tiger Yang wrote:
> On 06/01/2011 09:43 AM, Joel Becker wrote:
> >On Sat, May 28, 2011 at 12:34:52AM +0800, Tiger Yang wrote:
> >>We have already mlog all error and positive status is not error.
> >	Positive status is turned into -EIO.  There are actually a
> >couple of places in this function that do not mlog_errno(status) and
> >rely on this print.  I think you should add them to your patch.
> >	For example:
> >
> >371         status = ocfs2_qinfo_lock(oinfo, 0);
> >372         if (status<  0)
> >373                 goto out_unlock;
> >
> >Joel
> >
> >
> Hi, Joel,
> There is something devious about this function.
> 1 If status == sizeof(struct ocfs2_global_disk_dqinfo)) then
> positive status will be return.
> 2 After goto out_unlock, they goto out_err again.
> I make a new one to fix this.  please review the attached patch.
> 
> Thanks,
> Tiger
> 
> 

> >From 36951746bb68250ce13a62fd2a3290fa8af30c54 Mon Sep 17 00:00:00 2001
> From: Tiger Yang <tiger.yang at oracle.com>
> Date: Thu, 2 Jun 2011 11:27:11 +0800
> Subject: [PATCH 1/1] ocfs2: remove redundant and incorrect mlog_error
> 
> We have already mlog all error and positive status is not error.
> 
> Signed-off-by: Tiger Yang <tiger.yang at oracle.com>

This patch is now part of the fixes branch of ocfs2.git.

Joel

> ---
>  fs/ocfs2/quota_global.c |   11 +++--------
>  1 files changed, 3 insertions(+), 8 deletions(-)
> 
> diff --git a/fs/ocfs2/quota_global.c b/fs/ocfs2/quota_global.c
> index 92fcd57..cb0f017 100644
> --- a/fs/ocfs2/quota_global.c
> +++ b/fs/ocfs2/quota_global.c
> @@ -358,10 +358,8 @@ int ocfs2_global_read_info(struct super_block *sb, int type)
>  	oinfo->dqi_gqi_count = 0;
>  	oinfo->dqi_gqinode = gqinode;
>  	status = ocfs2_lock_global_qf(oinfo, 0);
> -	if (status < 0) {
> -		mlog_errno(status);
> +	if (status < 0)
>  		goto out_err;
> -	}
>  
>  	status = ocfs2_extent_map_get_blocks(gqinode, 0, &oinfo->dqi_giblk,
>  					     &pcount, NULL);
> @@ -381,7 +379,6 @@ int ocfs2_global_read_info(struct super_block *sb, int type)
>  		     status);
>  		if (status >= 0)
>  			status = -EIO;
> -		mlog_errno(status);
>  		goto out_err;
>  	}
>  	info->dqi_bgrace = le32_to_cpu(dinfo.dqi_bgrace);
> @@ -398,14 +395,12 @@ int ocfs2_global_read_info(struct super_block *sb, int type)
>  	schedule_delayed_work(&oinfo->dqi_sync_work,
>  			      msecs_to_jiffies(oinfo->dqi_syncms));
>  
> -out_err:
> -	if (status)
> -		mlog_errno(status);
>  	return status;
>  out_unlock:
>  	ocfs2_unlock_global_qf(oinfo, 0);
> +out_err:
>  	mlog_errno(status);
> -	goto out_err;
> +	return status;
>  }
>  
>  /* Write information to global quota file. Expects exlusive lock on quota
> -- 
> 1.7.4.4
> 


-- 

"The opposite of a correct statement is a false statement. The
 opposite of a profound truth may well be another profound truth."
         - Niels Bohr 

			http://www.jlbec.org/
			jlbec at evilplan.org



More information about the Ocfs2-devel mailing list