All of lore.kernel.org
 help / color / mirror / Atom feed
From: Christoph Hellwig <hch@infradead.org>
To: Eric Sandeen <sandeen@sandeen.net>
Cc: Christoph Hellwig <hch@infradead.org>,
	Josef 'Jeff' Sipek <jeffpc@josefsipek.net>,
	xfs@oss.sgi.com
Subject: Re: [PATCH 12/13] xfs: add version 3 inode format with CRCs
Date: Thu, 12 Feb 2009 13:51:54 -0500	[thread overview]
Message-ID: <20090212185154.GA18280@infradead.org> (raw)
In-Reply-To: <49946D7A.6070806@sandeen.net>

On Thu, Feb 12, 2009 at 12:42:02PM -0600, Eric Sandeen wrote:
> Josef 'Jeff' Sipek wrote:
> > On Tue, Feb 10, 2009 at 03:22:53PM -0500, Christoph Hellwig wrote:
> > ...
> >> Index: xfs/fs/xfs/xfs_dinode.h
> >> ===================================================================
> >> --- xfs.orig/fs/xfs/xfs_dinode.h	2009-02-10 19:45:51.939069576 +0100
> >> +++ xfs/fs/xfs/xfs_dinode.h	2009-02-10 19:45:59.195068745 +0100
> >> @@ -69,11 +69,32 @@ typedef struct xfs_dinode {
> >>  
> >>  	/* di_next_unlinked is the only non-core field in the old dinode */
> >>  	__be32		di_next_unlinked;/* agi unlinked list ptr */
> >> -} __attribute__((packed)) xfs_dinode_t;
> >> +
> >> +	/* start of the extended dinode, writable fields */
> >> +	__be32		di_crc;		/* CRC of the inode */
> >> +	__be64		di_changecount;	/* number of attribute changes */
> >> +	__u8		di_pad2[16];	/* more padding for future expansion */
> >> +
> >> +	/* fields only written to during inode creation */
> >> +	xfs_timestamp_t	di_crtime;	/* time created */
> >> +	__be64		di_ino;		/* inode number */
> >> +	uuid_t		di_uuid;	/* UUID of the filesystem */
> >> +} xfs_dinode_t;
> > 
> > Hrm...removing the packed attribute... Eric, do you remember the ARM ABI
> > alignment rules? Regardless of ARM, are those fields aligned nicely? (From a
> > quick glance at the code looks ok.)
> 
> I'll just have to just test it again I suppose.  Removing packed is
> good, as long as the padding makes it all come out right.

The reason why the current dinode needs the packed attribute is that
it's end on an un-even 32bit word, and thus the last field might be
wrongly aligned on 64-bit big-endian platforms (same issue as the
bad features2 one).  With the CRC patchset we now have a dinode
that's properly aligned on a even 32bit word.

> 
> -=Eric
---end quoted text---

_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs

  reply	other threads:[~2009-02-12 18:52 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-02-10 20:22 [PATCH 00/13] Updated CRC patches Christoph Hellwig
2009-02-10 20:22 ` [PATCH 01/13] xfs: cleanup xlog_bread Christoph Hellwig
2009-02-10 20:22 ` [PATCH 02/13] xfs: remove m_litino Christoph Hellwig
2009-02-10 20:22 ` [PATCH 03/13] xfs: remove m_attroffset Christoph Hellwig
2009-02-10 20:22 ` [PATCH 04/13] xfs: take inode version into account in XFS_LITINO Christoph Hellwig
2009-02-10 20:22 ` [PATCH 05/13] xfs: add CRC infrastructure Christoph Hellwig
2009-02-12  6:10   ` Josef 'Jeff' Sipek
2009-02-10 20:22 ` [PATCH 06/13] xfs: add support for large btree blocks Christoph Hellwig
2009-02-10 20:22 ` [PATCH 07/13] xfs: add CRC checks to the superblock Christoph Hellwig
2009-02-10 20:22 ` [PATCH 08/13] xfs: add CRC checks to the AGF Christoph Hellwig
2009-02-10 20:22 ` [PATCH 09/13] xfs: add CRC checks to the AGI Christoph Hellwig
2009-02-10 20:22 ` [PATCH 10/13] xfs: add CRC checks to the AGFL Christoph Hellwig
2009-02-11  7:54   ` Dave Chinner
2009-02-15 18:23     ` Christoph Hellwig
2009-02-10 20:22 ` [PATCH 11/13] xfs: add CRC checks to the log Christoph Hellwig
2009-02-10 20:22 ` [PATCH 12/13] xfs: add version 3 inode format with CRCs Christoph Hellwig
2009-02-12  6:38   ` Josef 'Jeff' Sipek
2009-02-12 18:42     ` Eric Sandeen
2009-02-12 18:51       ` Christoph Hellwig [this message]
2009-02-10 20:22 ` [PATCH 13/13] xfs: add CRC checks for quota blocks Christoph Hellwig
2009-02-12  6:41   ` Josef 'Jeff' Sipek
2009-02-13 20:10     ` Christoph Hellwig

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=20090212185154.GA18280@infradead.org \
    --to=hch@infradead.org \
    --cc=jeffpc@josefsipek.net \
    --cc=sandeen@sandeen.net \
    --cc=xfs@oss.sgi.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.