From: Dave Chinner <david@fromorbit.com>
To: "Michael L. Semon" <mlsemon35@gmail.com>
Cc: xfs-oss <xfs@oss.sgi.com>
Subject: Re: [NOISE] merge window blues, XFS broken
Date: Mon, 27 Jan 2014 12:56:14 +1100 [thread overview]
Message-ID: <20140127015614.GD2212@dastard> (raw)
In-Reply-To: <52E56386.5040802@gmail.com>
On Sun, Jan 26, 2014 at 02:35:34PM -0500, Michael L. Semon wrote:
> Hi! This is more an observation than a bug report, me trying to figure
> out what happened on what is now a 3-day-old kernel on 32-bit x86
> (Pentium 4). The report is marked as [NOISE] because I can do this...
>
> git pull origin master
> git remote update # updates xfs-oss
> git reset --hard v3.13
> git merge xfs-oss/master
>
> ...and the resulting kernel and XFS will be as smooth as silk.
> However, if I do this...
>
> git pull origin master
> git remote update # at time of pull, "Already up-to-date."
> git merge xfs-oss/master
>
> ...the resulting XFS will not pass this, for either v4- or v5-
> superblock XFS:
>
> mkfs.xfs -f $TEST_DEV # always OK
> mount $TEST_DEV $TEST_DIR # may succeed, may fail
> ls $TEST_DIR/ # may succeed, may fail
> umount $TEST_DEV # always fails
>
> The assertion is this (from notes taken by hand):
>
> Assertion failed: IS_ALIGNED((unsigned long)vec->i_addr, sizeof(uint64_t)), file: fs/xfs/xfs_log.h, line: 49
Hmmmm - that would point to struct xfs_log_iovec being 12 bytes on
ia32, similarly the struct xfs_log_vec may not be 8 byte aligned
when allocated because pointers only require 4 byte alignement.
Hence the initial data buffer may be 4 byte aligned and so that will
break the alignment requirement.
As a test, can you add pad both structures to be a multiple of 8
bytes in size, and add to them __aligned(8) so that they are
correctly aligned in memory? i.e.
struct xfs_log_vec {
......
int pad;
} __aligned(8);
struct xfs_log_iovec {
......
int pad;
} __aligned(8);
And see if that makes the problem go away?
> I work with pahole maybe once every three months, and my fuzzy memory, it
> seems like there are more holes total on 32-bit x86 than there used to be,
> don't know why.
Check the structs with pahole before and after you make the above
padding change to see if there is a difference in size and alignment
as a result.
Cheers,
Dave.
--
Dave Chinner
david@fromorbit.com
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
next prev parent reply other threads:[~2014-01-27 1:56 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-01-26 19:35 [NOISE] merge window blues, XFS broken Michael L. Semon
2014-01-27 1:56 ` Dave Chinner [this message]
2014-01-27 7:41 ` Christoph Hellwig
2014-01-27 9:46 ` Michael L. Semon
2014-01-27 23:30 ` Dave Chinner
2014-01-28 8:22 ` Michael L. Semon
2014-01-28 9:55 ` Dave Chinner
2014-01-29 22:31 ` Michael L. Semon
2014-02-12 0:15 ` Michael L. Semon
2014-02-12 1:55 ` Dave Chinner
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=20140127015614.GD2212@dastard \
--to=david@fromorbit.com \
--cc=mlsemon35@gmail.com \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).