Re: mkfs.btrfs - error checking /dev/sda5 mount status
From: Lubos Kolouch <hidden>
Date: 2011-02-10 18:35:10
Goffredo Baroncelli, Thu, 10 Feb 2011 19:24:57 +0100:
On 02/09/2011 09:12 PM, Lubos Kolouch wrote:quoted
Goffredo Baroncelli, Wed, 09 Feb 2011 19:25:34 +0100:quoted
On 02/08/2011 10:26 PM, Lubos Kolouch wrote:quoted
Goffredo Baroncelli, Tue, 08 Feb 2011 21:00:25 +0100:quoted
On 02/08/2011 07:57 AM, Lubos Kolouch wrote:quoted
Hi, I'm hitting this issue - sda5 is a normal device, nothing to do with loop, encryption etc. # mkfs.btrfs /dev/sda5 WARNING! - Btrfs v0.19-35-g1b444cd-dirty IS EXPERIMENTAL WARNING! - see http://btrfs.wiki.kernel.org before using error checking /dev/sda5 mount status Is there something I can do to resolve this?Some months ago I posted a patch [*] which allows to create a filesystem even if an integrity tests fail. Anyway it would be interesting understand why mkfs.btrfs fails. It is possible to have a strace of the command ?here ... http://paste.pocoo.org/show/334638/ but it is not in chroot, it is in "normal" system LubosHi Lubos, Could you post also the output of "cat /proc/mounts" command and the output of "btrfs filesystem show" command. I cannot understand what should be the problem.Hi Goffredo, Sure, # cat /proc/mounts rootfs / rootfs rw 0 0 /dev/root / btrfs rw,noatime,compress,ssd 0 0 proc /proc proc rw,nosuid,nodev,noexec,relatime 0 0 rc-svcdir /lib/rc/init.d tmpfs rw,nosuid,nodev,noexec,relatime,size=1024k,mode=755 0 0 sysfs /sys sysfs rw,nosuid,nodev,noexec,relatime 0 0 securityfs /sys/kernel/security securityfs rw,nosuid,nodev,noexec,relatime 0 0 debugfs /sys/kernel/debug debugfs rw,nosuid,nodev,noexec,relatime 0 0 udev /dev devtmpfs rw,nosuid,relatime,size=10240k,nr_inodes=217934,mode=755 0 0 fusectl /sys/fs/fuse/connections fusectl rw,relatime 0 0 none /dev/pts devpts rw,relatime,mode=600,ptmxmode=000 0 0 none /dev/shm tmpfs rw,relatime 0 0 /dev/sda1 /boot ext2 rw,relatime,errors=continue 0 0 none /var/tmp/portage tmpfs rw,relatime 0 0 binfmt_misc /proc/sys/fs/binfmt_misc binfmt_misc rw,nosuid,nodev,noexec,relatime 0 0 /dev/mapper/_dev_sda6 /home btrfs rw,noatime,compress,ssd 0 0 # btrfs filesystem show Label: none uuid: fd070c17-e98b-4b50-9fa8-3453482aafa2 Total devices 1 FS bytes used 5.51GB devid 1 size 18.64GB used 10.79GB path /dev/sda2 Label: none uuid: bf9a1b00-f8bd-44d3-b140-10eea088a60e Total devices 1 FS bytes used 6.73GB devid 1 size 19.54GB used 19.54GB path /dev/sda5 Label: none uuid: ae0ba016-1945-4e7a-9fb4-e9311d199727 Total devices 1 FS bytes used 57.50GB devid 1 size 78.91GB used 78.91GB path /dev/dm-0 # mkfs.btrfs /dev/sda5 WARNING! - Btrfs v0.19-35-g1b444cd-dirty IS EXPERIMENTAL WARNING! - see http://btrfs.wiki.kernel.org before using error checking /dev/sda5 mount status Also, I can mount it no problem - strange, isn't itOk, I think to have track down the problem. To me it seems a bug in mkfs.btrfs. The first thing that should be highlighted is that you are trying to format an already btrfs formatted device. In this there is not anything wrong. However, before formatting a device mkfs.btrfs performs some sanity check. It checks if the device is already mounted, scanning /proc/mounts. In a normal case (the device which will be formatted doesn't contain a btrfs filesystem), mkfs.btrfs is smart enough to don't check device which are in /proc/mounts bat doesn't exist (like /dev/root). Instead when the device which will be formatted already contains a btrfs filesystem, mkfs.btrfs performs a different checks. In fact it considers also the case of a multi-device based btrfs filesystem. However in this case it doesn't skip a not existent device but it raises an error. I think that this is a bug. As workaround I suggest the following: make a link between the real root device and /dev/root. It should be sufficient to format the device.
Hello - you are right... # ln -s /dev/sda2 /dev/root # mkfs.btrfs /dev/sda5 WARNING! - Btrfs v0.19-35-g1b444cd-dirty IS EXPERIMENTAL WARNING! - see http://btrfs.wiki.kernel.org before using fs created label (null) on /dev/sda5 nodesize 4096 leafsize 4096 sectorsize 4096 size 19.54GB Btrfs v0.19-35-g1b444cd-dirty Lubos