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
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html