From: Dave Chinner <david@fromorbit.com>
To: "Darrick J. Wong" <darrick.wong@oracle.com>
Cc: linux-xfs@vger.kernel.org, zhangshaokun@hisilicon.com
Subject: Re: [PATCH] xfs: gut error handling in xfs_trans_unreserve_and_mod_sb()
Date: Thu, 21 Nov 2019 17:44:34 +1100 [thread overview]
Message-ID: <20191121064434.GE4614@dread.disaster.area> (raw)
In-Reply-To: <20191121045003.GX6235@magnolia>
On Wed, Nov 20, 2019 at 08:50:03PM -0800, Darrick J. Wong wrote:
> On Thu, Nov 21, 2019 at 03:00:23PM +1100, Dave Chinner wrote:
> > On Wed, Nov 20, 2019 at 06:38:36PM -0800, Darrick J. Wong wrote:
> > > On Thu, Nov 21, 2019 at 11:44:37AM +1100, Dave Chinner wrote:
> > > > -out_undo_frextents:
> > > > - if (rtxdelta)
> > > > - xfs_sb_mod64(&mp->m_sb.sb_frextents, -rtxdelta);
> > > > -out_undo_ifree:
> > > > + xfs_sb_mod64(&mp->m_sb.sb_frextents, rtxdelta);
> > >
> > > As for these bits... why even bother with a three line helper? I think
> > > this is clearer about what's going on:
> > >
> > > mp->m_sb.sb_frextents += rtxdelta;
> > > mp->m_sb.sb_dblocks += tp->t_dblocks_delta;
> > > ...
> > > ASSERT(!rtxdelta || mp->m_sb.sb_frextents >= 0);
> > > ASSERT(!tp->t_dblocks_delta || mp->m_sb.sb.dblocks >= 0);
> >
> > That required writing more code and adding more logic I'd have to
> > think about to write, and then think about again every time I read
> > it.
>
> OTOH it's an opportunity to make the asserts more useful, because right
> now they just say:
>
> XFS (sda): Assertion failed: counter >= 0, file: xfs_trans.c, line XXX
>
> *Which* counter just tripped the assert? At least it could say:
>
> XFS (sda): Assertion failed: mp->m_sb.sb_dblocks >= 0, file: xfs_trans.c, line XXX
Ok, that's a decent reason to make the code a bit more complex. I'll
see what I can do....
Cheers,
Dave.
--
Dave Chinner
david@fromorbit.com
next prev parent reply other threads:[~2019-11-21 6:44 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-11-21 0:44 [PATCH] xfs: gut error handling in xfs_trans_unreserve_and_mod_sb() Dave Chinner
2019-11-21 2:38 ` Darrick J. Wong
2019-11-21 4:00 ` Dave Chinner
2019-11-21 4:50 ` Darrick J. Wong
2019-11-21 6:44 ` Dave Chinner [this message]
2019-11-21 7:47 ` Shaokun Zhang
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20191121064434.GE4614@dread.disaster.area \
--to=david@fromorbit.com \
--cc=darrick.wong@oracle.com \
--cc=linux-xfs@vger.kernel.org \
--cc=zhangshaokun@hisilicon.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.