Re: btrfs module does not load on sparc64
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
Re: btrfs module does not load on sparc64
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.
Re: btrfs module does not load on sparc64
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: single8.00MiB Metadata: DUP 1.01GiB System: DUP 12.00MiB SSD detected: no Incompat features: extref, skinny-metadata Number of devices: 1 Devices: IDSIZE PATH 115.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 majord...@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.
btrfs module does not load on sparc64
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: single8.00MiB Metadata: DUP 1.01GiB System: DUP 12.00MiB SSD detected: no Incompat features: extref, skinny-metadata Number of devices: 1 Devices: IDSIZE PATH 115.00GiB /dev/vg1/vol1 Can someone help please? Thanks.