On Tue, 12 Feb 2013 18:54:49 +0000
"Richard W.M. Jones" <rjones@xxxxxxxxxx> wrote:
> Btrfs has been broken for me for ages. I first reported it on this
> list 5 months ago[1]. Below is a very simple reproducer that anyone
> can run.
>
> *NB* before you run this, adjust /dev/sda & /dev/sda1 to point to an
> unused block device!
I might be pointing out the most obvious here, but where does /dev/sda2 come
from?
Some more ideas for you to try
dd if=/dev/zero of=/dev/sda bs=1M count=1
blockdev --rereadpt /dev/sda
and then proceed again with your test loop.
> ----------------------------------------------------------------------
> #!/bin/sh -
> set -e
> while true; do
> parted -s -- /dev/sda mklabel msdos
> parted -s -- /dev/sda mkpart primary 64s -64s
> wipefs -a /dev/sda1
> mkfs.btrfs --label TEST /dev/sda1
> mount /dev/sda1 /sysroot
^^^^^^^^^^^^^^^^^^^^^^ sda1
> touch /sysroot/foo
> mkdir /sysroot/bar
> umount /sysroot
> done
> ----------------------------------------------------------------------
>
> On the latest 3.8.0 kernel, this fails immediately (at the mount), and
> on 3.7.x it usually fails after a very few iterations. I see a
> variety of errors, but the latest kernel error is:
>
> [ 8.474934] device label ROOT devid 1 transid 2 /dev/sda2
> [ 8.570619] device label ROOT devid 1 transid 2 /dev/sda2
^^^^ sda2?
> [ 8.581891] btrfs: disk space caching is enabled
> [ 8.594146] btrfs bad tree block start 0 4194304
> [ 8.595144] btrfs: failed to read tree root on sda2
> [ 8.605308] btrfs: open_ctree failed
>
> I would really like btrfs to work. What can I do?
>
> Rich.
>
> [1] http://article.gmane.org/gmane.comp.file-systems.btrfs/20257
>
--
With respect,
Roman
Attachment:
signature.asc
Description: PGP signature
