From: Saul Wold <sgw@linux.intel.com>
To: Gui Hecheng <guihc.fnst@cn.fujitsu.com>
Cc: "linux-btrfs@vger.kernel.org" <linux-btrfs@vger.kernel.org>
Subject: Re: Building a brtfs filesystem < 70M?
Date: Mon, 10 Mar 2014 23:41:04 -0700 [thread overview]
Message-ID: <531EB000.3060907@linux.intel.com> (raw)
In-Reply-To: <1394516855.13388.4.camel@localhost.localdomain>
On 03/10/2014 10:47 PM, Gui Hecheng wrote:
> On Mon, 2014-03-10 at 20:16 -0700, Saul Wold wrote:
>> On 03/10/2014 07:38 PM, Gui Hecheng wrote:
>>> On Mon, 2014-03-10 at 16:25 -0700, Saul Wold wrote:
>>>> Hi There
>>>>
>>>> There seems to be an issue if we try to build a btrfs based FS that is
>>>> less than 70M, we get the following assertion failure:
>>>>
>>>> mkfs.btrfs: extent-tree.c:2682: btrfs_reserve_extent: Assertion `!(ret)'
>>>> failed.
>>>>
>>>> I tried to do a search on this and did not find anything obvious.
>>>>
>>>> Further, if I do build a 70M image, it will not mount until I get to I
>>>> increase the about 100M!
>>>>
>>>> # mount -o loop -v rootfs.btrfs mnt
>>>> mount: wrong fs type, bad option, bad superblock on /dev/loop0,
>>>> missing codepage or helper program, or other error
>>>>
>>>> In some cases useful info is found in syslog - try
>>>> dmesg | tail or so.
>>>>
>>>> I can provide a small rootfs (~4M) example if needed
>>>>
>>>> Builds and mounts correct:
>>>> mkfs.btrfs -b 104857600 -r rootfs rootfs.btrfs
>>>>
>>>> Builds, but does not mount:
>>>> mkfs.btrfs -b 73400320 -r rootfs rootfs.btrfs
>>>>
>>>> Does not build, gives the above assertion error:
>>>> mkfs.btrfs -b 10889216 -r rootfs rootfs.btrfs
>>>>
>>>>
>>>> Thanks
>>>>
>>> Hi Saul,
>>> Sorry, I'm not able to reproduce your problem...
>>> Are you running the latest btrfs-progs from david's branch?
>>>
>> Yes, I am building it from git using master I think, git hash:
>> 8cae1840afb3ea44dcc298f32983e577480dfee4
>>
>> I tried both with and without the -M as cwillu suggested, still no joy,
>> I can send some the rootfs I am using to see if is's something specific.
>>
>> Here's the full failure:
>>
>> $ tmp/sysroots/x86_64-linux/usr/bin/mkfs.btrfs -M -b 10889216 -r
>> tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/rootfs rootfs.btrfs
>> SMALL VOLUME: forcing mixed metadata/data groups
>> SMALL VOLUME: forcing mixed metadata/data groups
>>
>> WARNING! - Btrfs v3.12-dirty IS EXPERIMENTAL
>> WARNING! - see http://btrfs.wiki.kernel.org before using
>>
>> Turning ON incompat feature 'mixed-bg': mixed data and metadata block groups
>> Turning ON incompat feature 'extref': increased hardlink limit per file
>> to 65536
>> Created a data/metadata chunk of size 8388608
>> fs created label (null) on rootfs.btrfs
>> nodesize 4096 leafsize 4096 sectorsize 4096 size 180.00MiB
>> Btrfs v3.12-dirty
>> scandir for
>> tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/rootfs failed:
>> No such file or directory
>> unable to traverse_directory
>> Making image is aborted.
>> mkfs.btrfs: mkfs.c:1592: main: Assertion `!(ret)' failed.
>> Aborted (core dumped)
>>
>>
>> Thanks for the help!
>>
>> Sau!
>>
> I think the output really tells us the problem: the mkfs '-r' option
> requires a 'directory' as an arg.
> But still it should not abort with 'core dumped', I would be glad to
> make it more friendly.
>
Yes, the
"tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/rootfs" is a
directory containing a rootfs, we use this with genext2fs with no
issues. As I said, I can provide you with a tarball of this directory
if you wish to try and reproduce this issue.
Sau!
> -Gui
>>
>>> Thanks,
>>> Gui
>>>
>>>
>
>
next prev parent reply other threads:[~2014-03-11 6:41 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-03-10 23:25 Building a brtfs filesystem < 70M? Saul Wold
2014-03-11 0:16 ` cwillu
2014-03-11 2:38 ` Gui Hecheng
2014-03-11 3:16 ` Saul Wold
2014-03-11 5:47 ` Gui Hecheng
2014-03-11 6:41 ` Saul Wold [this message]
2014-03-11 7:51 ` Gui Hecheng
2014-03-11 16:37 ` Zach Brown
2014-03-12 1:10 ` quwenruo
2014-03-12 1:43 ` Saul Wold
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=531EB000.3060907@linux.intel.com \
--to=sgw@linux.intel.com \
--cc=guihc.fnst@cn.fujitsu.com \
--cc=linux-btrfs@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox