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

Joel Becker jlbec at evilplan.org
Wed Aug 15 00:34:00 PDT 2012


On Tue, Aug 14, 2012 at 11:37:11PM -0700, Joel Becker wrote:
> 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.

I lied.  It conflicted and did not get pushed.  This is still not
correct.  Removing mlog_errno() calls means we can't find out which line
caused the problem.

Joel

> 
> 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
> 
> _______________________________________________
> Ocfs2-devel mailing list
> Ocfs2-devel at oss.oracle.com
> https://oss.oracle.com/mailman/listinfo/ocfs2-devel

-- 

Life's Little Instruction Book #450

	"Don't be afraid to say, 'I need help.'"

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



More information about the Ocfs2-devel mailing list