Goffredo Baroncelli, Thu, 10 Feb 2011 19:24:57 +0100:

> On 02/09/2011 09:12 PM, Lubos Kolouch wrote:
>> Goffredo Baroncelli, Wed, 09 Feb 2011 19:25:34 +0100:
>> 
>>> On 02/08/2011 10:26 PM, Lubos Kolouch wrote:
>>>> Goffredo Baroncelli, Tue, 08 Feb 2011 21:00:25 +0100:
>>>>
>>>>> On 02/08/2011 07:57 AM, Lubos Kolouch wrote:
>>>>>> 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
>>>>
>>>> Lubos
>>>>
>>>>
>>> Hi 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 it
> 
> 
> Ok, 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

--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to