linux-btrfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Omar Sandoval <osandov@osandov.com>
To: dsterba@suse.cz, Anatoly Pugachev <matorola@gmail.com>,
	Btrfs BTRFS <linux-btrfs@vger.kernel.org>,
	sparclinux@vger.kernel.org,
	debian-sparc <debian-sparc@lists.debian.org>
Subject: Re: btrfs module does not load on sparc64
Date: Tue, 12 Jul 2016 15:47:12 -0700	[thread overview]
Message-ID: <20160712224712.GA7880@vader.DHCP.thefacebook.com> (raw)
In-Reply-To: <20160711100646.GS13336@twin.jikos.cz>

On Mon, Jul 11, 2016 at 12:06:46PM +0200, David Sterba wrote:
> On Thu, Jul 07, 2016 at 05:29:35PM +0300, Anatoly Pugachev wrote:
> > Compiled linux kernel (git version 4.7.0-rc6+) using my own kernel
> > config file, enabling :
> > 
> > CONFIG_BTRFS_FS_RUN_SANITY_TESTS=y
> > CONFIG_BTRFS_DEBUG=y
> > CONFIG_BTRFS_ASSERT=y
> > 
> > and now I can't load btrfs module:
> > 
> > # modprobe btrfs
> > modprobe: ERROR: could not insert 'btrfs': Invalid argument
> > 
> > 
> > and in logs (and on console):
> > 
> > [1897399.942697] Btrfs loaded, crc32c=crc32c-generic, debug=on, assert=on
> > [1897400.024645] BTRFS: selftest: sectorsize: 8192  nodesize: 8192
> > [1897400.098089] BTRFS: selftest: Running btrfs free space cache tests
> > [1897400.175863] BTRFS: selftest: Running extent only tests
> > [1897400.241871] BTRFS: selftest: Running bitmap only tests
> > [1897400.307877] BTRFS: selftest: Running bitmap and extent tests
> > [1897400.380329] BTRFS: selftest: Running space stealing from bitmap to extent
> > [1897400.470517] BTRFS: selftest: Free space cache tests finished
> > [1897400.542875] BTRFS: selftest: Running extent buffer operation tests
> > [1897400.621710] BTRFS: selftest: Running btrfs_split_item tests
> > [1897400.692929] BTRFS: selftest: Running extent I/O tests
> > [1897400.757459] BTRFS: selftest: Running find delalloc tests
> > [1897401.082670] BTRFS: selftest: Running extent buffer bitmap tests
> > [1897401.161223] BTRFS: selftest: Setting straddling pages failed
> 
> The sanity tests fail at some point with EINVAL, so the module will fail
> to load in turn. Looking at the test itself (__test_eb_bitmaps), it does
> no make any assumptions about page size etc. so this "should work".
> Taking powerpc with 64k page size for another reference where the tests
> work, I'm not sure what exactly could be wrong here.

This is an endianness problem with the test. It's not showing up on
powerpc because ed9e4afdb055 ("Btrfs: self-tests: Execute page
straddling test only when nodesize < PAGE_SIZE") [1] disabled that chunk
of the test. It also fails on a big-endian MIPS QEMU system with 16K
pages. I'll send up a patch.

1: https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=ed9e4afdb0551e3ef4ee8433fe664433a20ef73a

-- 
Omar

      reply	other threads:[~2016-07-12 22:47 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-07-07 14:29 btrfs module does not load on sparc64 Anatoly Pugachev
2016-07-07 22:07 ` alexmcwhirter
2016-07-11 10:06 ` David Sterba
2016-07-12 22:47   ` Omar Sandoval [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=20160712224712.GA7880@vader.DHCP.thefacebook.com \
    --to=osandov@osandov.com \
    --cc=debian-sparc@lists.debian.org \
    --cc=dsterba@suse.cz \
    --cc=linux-btrfs@vger.kernel.org \
    --cc=matorola@gmail.com \
    --cc=sparclinux@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 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).