Re: [PATCH 01/10] XFS: split out two helpers from xfs_syncsub

Dave Chinner
2008-09-13T20:33:07Z

On Sat, Sep 13, 2008 at 12:53:41PM -0400, Josef 'Jeff' Sipek wrote:
> On Sat, Sep 13, 2008 at 11:57:01PM +1000, Dave Chinner wrote:
> ...
> > diff --git a/fs/xfs/linux-2.6/xfs_sync.c b/fs/xfs/linux-2.6/xfs_sync.c
> > index 53d85ec..59da332 100644
> > --- a/fs/xfs/linux-2.6/xfs_sync.c
> > +++ b/fs/xfs/linux-2.6/xfs_sync.c
> > @@ -315,6 +315,93 @@ xfs_sync_inodes(
> > return XFS_ERROR(last_error);
> > }
> >
> > +STATIC int
> > +xfs_commit_dummy_trans(
> > + struct xfs_mount *mp,
> > + uint log_flags)
> > +{
> > + struct xfs_inode *ip = mp->m_rootip;
> > + struct xfs_trans *tp;
> > + int error;
> > +
> > + /*
> > + * Put a dummy transaction in the log to tell recovery
> > + * that all others are OK.
> > + */
> > + tp = xfs_trans_alloc(mp, XFS_TRANS_DUMMY1);
> > + error = xfs_trans_reserve(tp, 0, XFS_ICHANGE_LOG_RES(mp), 0, 0, 0);
> > + if (error) {
> > + xfs_trans_cancel(tp, 0);
> > + return error;
> > + }
> > +
> > + xfs_ilock(ip, XFS_ILOCK_EXCL);
> > +
> > + xfs_trans_ijoin(tp, ip, XFS_ILOCK_EXCL);
> > + xfs_trans_ihold(tp, ip);
> > + xfs_trans_log_inode(tp, ip, XFS_ILOG_CORE);
> > + /* XXX(hch): ignoring the error here.. */
>
> Why? Was this supposed to be ignored in the final version of these patches?

The only possible error here is the result of a shutdown,
at which point we really don't care if this transaction
makes it to disk or not. There's nobody we can return the
error to, anyway.

Cheers,

Dave.
--
Dave Chinner
david@fromorbit.com