All of lore.kernel.org
 help / color / mirror / Atom feed
* BUG: unable to mount btrfs on ppc64 starting from v4.7-rc3 kernel
@ 2016-06-14 11:13 Eryu Guan
  2016-06-14 18:24 ` Liu Bo
  0 siblings, 1 reply; 3+ messages in thread
From: Eryu Guan @ 2016-06-14 11:13 UTC (permalink / raw)
  To: linux-btrfs; +Cc: Liu Bo

Hi,

I'm unable to mount btrfs on ppc64 hosts and other hosts with 64k
pagesize(like aarch64, ppc64le). It seems that it's commit 99e3ecfcb9f4
("Btrfs: add more validation checks for superblock") introduced this
failure, btrfs fails stripesize check.

[root@ibm-p8-kvm-09-guest-06 btrfs-progs]# uname -r
4.7.0-rc3
[root@ibm-p8-kvm-09-guest-06 btrfs-progs]# ./mkfs.btrfs -f /dev/vda3
btrfs-progs v4.4
See http://btrfs.wiki.kernel.org for more information.

Label:              (null)
UUID:               06813ff6-d585-4c54-b4df-b7d6920d27ba
Node size:          65536
Sector size:        65536
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/vda3

[root@ibm-p8-kvm-09-guest-06 btrfs-progs]# mount /dev/vda3 /mnt
mount: wrong fs type, bad option, bad superblock on /dev/vda3,
       missing codepage or helper program, or other error

       In some cases useful info is found in syslog - try
       dmesg | tail or so.
[root@ibm-p8-kvm-09-guest-06 btrfs-progs]# dmesg | tail
...
[ 1910.048650] BTRFS: device fsid 06813ff6-d585-4c54-b4df-b7d6920d27ba devid 1 transid 3 /dev/vda3
[ 1913.152085] BTRFS error (device vda3): invalid stripesize 4096
[ 1913.154349] BTRFS error (device vda3): superblock contains fatal errors
[ 1913.200300] BTRFS: open_ctree failed

Thanks,
Eryu

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

* Re: BUG: unable to mount btrfs on ppc64 starting from v4.7-rc3 kernel
  2016-06-14 11:13 BUG: unable to mount btrfs on ppc64 starting from v4.7-rc3 kernel Eryu Guan
@ 2016-06-14 18:24 ` Liu Bo
  2016-06-15 15:33   ` David Sterba
  0 siblings, 1 reply; 3+ messages in thread
From: Liu Bo @ 2016-06-14 18:24 UTC (permalink / raw)
  To: Eryu Guan; +Cc: linux-btrfs

Hi,

On Tue, Jun 14, 2016 at 07:13:22PM +0800, Eryu Guan wrote:
> Hi,
> 
> I'm unable to mount btrfs on ppc64 hosts and other hosts with 64k
> pagesize(like aarch64, ppc64le). It seems that it's commit 99e3ecfcb9f4
> ("Btrfs: add more validation checks for superblock") introduced this
> failure, btrfs fails stripesize check.
> 
> [root@ibm-p8-kvm-09-guest-06 btrfs-progs]# uname -r
> 4.7.0-rc3
> [root@ibm-p8-kvm-09-guest-06 btrfs-progs]# ./mkfs.btrfs -f /dev/vda3
> btrfs-progs v4.4
> See http://btrfs.wiki.kernel.org for more information.
> 
> Label:              (null)
> UUID:               06813ff6-d585-4c54-b4df-b7d6920d27ba
> Node size:          65536
> Sector size:        65536
> 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/vda3
> 
> [root@ibm-p8-kvm-09-guest-06 btrfs-progs]# mount /dev/vda3 /mnt
> mount: wrong fs type, bad option, bad superblock on /dev/vda3,
>        missing codepage or helper program, or other error
> 
>        In some cases useful info is found in syslog - try
>        dmesg | tail or so.
> [root@ibm-p8-kvm-09-guest-06 btrfs-progs]# dmesg | tail
> ...
> [ 1910.048650] BTRFS: device fsid 06813ff6-d585-4c54-b4df-b7d6920d27ba devid 1 transid 3 /dev/vda3
> [ 1913.152085] BTRFS error (device vda3): invalid stripesize 4096
> [ 1913.154349] BTRFS error (device vda3): superblock contains fatal errors
> [ 1913.200300] BTRFS: open_ctree failed

Ah, that's right, we need to update btrfs-progs to set super_stripesize to
sectorsize.

In mkfs.c we have,

{
	u32 sectorsize = 4096;
	u32 stripesize = 4096;
	...
	sectorsize = max(sectorsize, (u32)sysconf(_SC_PAGESIZE));
	...
	mkfs_cfg.sectorsize = sectorsize;
	mkfs_cfg.stripesize = stripesize;

	ret = make_btrfs(fd, &mkfs_cfg, NULL);
	...
}

Thanks,

-liubo

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

* Re: BUG: unable to mount btrfs on ppc64 starting from v4.7-rc3 kernel
  2016-06-14 18:24 ` Liu Bo
@ 2016-06-15 15:33   ` David Sterba
  0 siblings, 0 replies; 3+ messages in thread
From: David Sterba @ 2016-06-15 15:33 UTC (permalink / raw)
  To: Liu Bo; +Cc: Eryu Guan, linux-btrfs

On Tue, Jun 14, 2016 at 11:24:04AM -0700, Liu Bo wrote:
> > [ 1910.048650] BTRFS: device fsid 06813ff6-d585-4c54-b4df-b7d6920d27ba devid 1 transid 3 /dev/vda3
> > [ 1913.152085] BTRFS error (device vda3): invalid stripesize 4096
> > [ 1913.154349] BTRFS error (device vda3): superblock contains fatal errors
> > [ 1913.200300] BTRFS: open_ctree failed
> 
> Ah, that's right, we need to update btrfs-progs to set super_stripesize to
> sectorsize.
> 
> In mkfs.c we have,
> 
> {
> 	u32 sectorsize = 4096;
> 	u32 stripesize = 4096;
> 	...
> 	sectorsize = max(sectorsize, (u32)sysconf(_SC_PAGESIZE));
> 	...
> 	mkfs_cfg.sectorsize = sectorsize;
> 	mkfs_cfg.stripesize = stripesize;
> 
> 	ret = make_btrfs(fd, &mkfs_cfg, NULL);
> 	...
> }

Yeah we need to fix progs and allow the 4k value in kernel, Chandan will
send a patch.

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

end of thread, other threads:[~2016-06-15 15:33 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-06-14 11:13 BUG: unable to mount btrfs on ppc64 starting from v4.7-rc3 kernel Eryu Guan
2016-06-14 18:24 ` Liu Bo
2016-06-15 15:33   ` David Sterba

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.