All of lore.kernel.org
 help / color / mirror / Atom feed
From: Christoph Hellwig <hch@lst.de>
To: Dave Chinner <david@fromorbit.com>
Cc: Christoph Hellwig <hch@lst.de>, linux-xfs@vger.kernel.org
Subject: Re: [PATCH 4/4] xfs: remove struct xfs_icdinode
Date: Wed, 23 Oct 2019 03:28:18 +0200	[thread overview]
Message-ID: <20191023012818.GA15489@lst.de> (raw)
In-Reply-To: <20191020232958.GB8015@dread.disaster.area>

On Mon, Oct 21, 2019 at 10:29:58AM +1100, Dave Chinner wrote:
> This is, IMO, a step backards. We're going to end up failing to
> initialise new fields correctly with this...

How is that different from the plain xfs_inode fields?  In fact I suspect
most of the initializers cn just be removed entirely, so I'll look into
preloading that at the front of the series.

> This is a bug and should make all the 32-bit project ID tests fail.
> If it doesn't them we've got a problem with our test coverage. If it
> does fail, then I'm not sure this patchset has been adequately
> tested...

I don't think we have any coverage of that, at least I didn't see any
extra failures.

> > +	xfs_fsize_t		i_disk_size;	/* number of bytes in file */
> > +	xfs_rfsblock_t		i_nblocks;	/* direct & btree blocks used */
> > +	xfs_extlen_t		i_extsize;	/* extent size hint  */
> > +	xfs_extnum_t		i_nextents;	/* # of extents in data fork */
> > +	xfs_aextnum_t		i_anextents;	/* # of extents in attr fork */
> > +	uint8_t			i_forkoff;	/* attr fork offset */
> > +	int8_t			i_aformat;	/* attr fork format */
> > +	uint32_t		i_dmevmask;	/* DMIG event mask */
> > +	uint16_t		i_dmstate;	/* DMIG state info */
> 
> If we are cleaning up the icdinode, why do these still exist in
> memory?

Because we need them so that we put the right value in the log when
logging the inode core.  Otherwise a log recovery might clear these
values.  The only thing I could do is add a log incompat flag set
on a kernel that removes the field and then not apply changes to these
two fields when recoverying the log on a file system with that flag
set.

      reply	other threads:[~2019-10-23  1:28 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-20  8:21 xfs inode structure cleanups Christoph Hellwig
2019-10-20  8:21 ` [PATCH 1/4] xfs: use a struct timespec64 for the in-core crtime Christoph Hellwig
2019-11-12 16:20   ` Darrick J. Wong
2019-10-20  8:21 ` [PATCH 2/4] xfs: merge the projid fields in struct xfs_icdinode Christoph Hellwig
2019-11-12 16:22   ` Darrick J. Wong
2019-10-20  8:21 ` [PATCH 3/4] xfs: don't reset the "inode core" in xfs_iread Christoph Hellwig
2019-11-12 16:24   ` Darrick J. Wong
2019-11-12 16:25     ` Christoph Hellwig
2019-10-20  8:21 ` [PATCH 4/4] xfs: remove struct xfs_icdinode Christoph Hellwig
2019-10-20 23:29   ` Dave Chinner
2019-10-23  1:28     ` Christoph Hellwig [this message]

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=20191023012818.GA15489@lst.de \
    --to=hch@lst.de \
    --cc=david@fromorbit.com \
    --cc=linux-xfs@vger.kernel.org \
    /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.