linux-btrfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* btrfs module does not load on sparc64
@ 2016-07-07 14:29 Anatoly Pugachev
  2016-07-07 22:07 ` alexmcwhirter
  2016-07-11 10:06 ` David Sterba
  0 siblings, 2 replies; 4+ messages in thread
From: Anatoly Pugachev @ 2016-07-07 14:29 UTC (permalink / raw)
  To: Btrfs BTRFS; +Cc: sparclinux, debian-sparc

Hi!

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
[1897401.233661] BTRFS: selftest: Extent I/O tests finished


this is sparc64 sid/unstable debian:

# uname -a
Linux nvg5120 4.7.0-rc6+ #38 SMP Thu Jul 7 14:51:23 MSK 2016 sparc64 GNU/Linux

# getconf PAGESIZE
8192

PS: using btrfs-progs from kdave repo,
git://git.kernel.org/pub/scm/linux/kernel/git/kdave/btrfs-progs.git ,
i'm able to create fs, but unable to mount:

root@nvg5120:/home/mator/btrfs-progs# ./mkfs.btrfs -f /dev/vg1/vol1
btrfs-progs v4.6.1
See http://btrfs.wiki.kernel.org for more information.

WARNING: failed to open /dev/btrfs-control, skipping device
registration: No such device
Label:              (null)
UUID:               ddd8a268-62e5-444c-9baf-6ba1b2d4448b
Node size:          16384
Sector size:        8192
Filesystem size:    15.00GiB
Block group profiles:
  Data:             single            8.00MiB
  Metadata:         DUP               1.01GiB
  System:           DUP              12.00MiB
SSD detected:       no
Incompat features:  extref, skinny-metadata
Number of devices:  1
Devices:
   ID        SIZE  PATH
    1    15.00GiB  /dev/vg1/vol1


Can someone help please? Thanks.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: btrfs module does not load on sparc64
  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
  1 sibling, 0 replies; 4+ messages in thread
From: alexmcwhirter @ 2016-07-07 22:07 UTC (permalink / raw)
  To: Anatoly Pugachev; +Cc: Btrfs BTRFS, sparclinux, debian-sparc, sparclinux-owner

On 2016-07-07 10:29, Anatoly Pugachev wrote:
> Hi!
> 
> 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
> [1897401.233661] BTRFS: selftest: Extent I/O tests finished
> 
> 
> this is sparc64 sid/unstable debian:
> 
> # uname -a
> Linux nvg5120 4.7.0-rc6+ #38 SMP Thu Jul 7 14:51:23 MSK 2016 sparc64 
> GNU/Linux
> 
> # getconf PAGESIZE
> 8192
> 
> PS: using btrfs-progs from kdave repo,
> git://git.kernel.org/pub/scm/linux/kernel/git/kdave/btrfs-progs.git ,
> i'm able to create fs, but unable to mount:
> 
> root@nvg5120:/home/mator/btrfs-progs# ./mkfs.btrfs -f /dev/vg1/vol1
> btrfs-progs v4.6.1
> See http://btrfs.wiki.kernel.org for more information.
> 
> WARNING: failed to open /dev/btrfs-control, skipping device
> registration: No such device
> Label:              (null)
> UUID:               ddd8a268-62e5-444c-9baf-6ba1b2d4448b
> Node size:          16384
> Sector size:        8192
> Filesystem size:    15.00GiB
> Block group profiles:
>   Data:             single            8.00MiB
>   Metadata:         DUP               1.01GiB
>   System:           DUP              12.00MiB
> SSD detected:       no
> Incompat features:  extref, skinny-metadata
> Number of devices:  1
> Devices:
>    ID        SIZE  PATH
>     1    15.00GiB  /dev/vg1/vol1
> 
> 
> Can someone help please? Thanks.
> --
> To unsubscribe from this list: send the line "unsubscribe sparclinux" 
> in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

On kernel 4.6.2 i can load the module on quite a few machines (e6k, 
v210, v215, m4000, t5120). However, i can only create / mount raid 0,1, 
and 10 filesystems. raid 5 and 6 fails on both creation and mounting. 
Also, After creation / mounting of a raid 0/1/10 filesystem btrfs will 
eventually corrupt itself after a large amount of data has been written.

Not the same issue you are experiencing, but it's worthwhile to note.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: btrfs module does not load on sparc64
  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
  1 sibling, 1 reply; 4+ messages in thread
From: David Sterba @ 2016-07-11 10:06 UTC (permalink / raw)
  To: Anatoly Pugachev; +Cc: Btrfs BTRFS, sparclinux, debian-sparc

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.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: btrfs module does not load on sparc64
  2016-07-11 10:06 ` David Sterba
@ 2016-07-12 22:47   ` Omar Sandoval
  0 siblings, 0 replies; 4+ messages in thread
From: Omar Sandoval @ 2016-07-12 22:47 UTC (permalink / raw)
  To: dsterba, Anatoly Pugachev, Btrfs BTRFS, sparclinux, debian-sparc

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

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2016-07-12 22:47 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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 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).