From: ching <lsching17@gmail.com>
To: cwillu <cwillu@cwillu.com>
Cc: Felix Pepinghege <postfach@pepinghege.net>,
"linux-btrfs@vger.kernel.org" <linux-btrfs@vger.kernel.org>
Subject: Re: Why btrfs inline small file by default?
Date: Wed, 31 Oct 2012 07:41:59 +0800 [thread overview]
Message-ID: <509065C7.2030903@gmail.com> (raw)
In-Reply-To: <CAE5mzvg4o6bfq9on_VdrWNzi3YCMBbusCfi9yicHecnuQTRB2w@mail.gmail.com>
On 10/31/2012 06:16 AM, cwillu wrote:
> On Tue, Oct 30, 2012 at 3:40 PM, ching <lsching17@gmail.com> wrote:
>> On 10/30/2012 08:17 PM, cwillu wrote:
>>>>> If there is a lot of small files, then the size of metadata will be
>>>>> undesirable due to deduplication
>>>> Yes, that is a fact, but if that really matters depends on the use-case
>>>> (e.g., the small files to large files ratio, ...). But as btrfs is designed
>>>> explicitly as a general purpose file system, you usually want the good
>>>> performance instead of the better disk-usage (especially as disk space isn't
>>>> expensive anymore).
>>> As I understand it, in basically all cases the total storage used by
>>> inlining will be _smaller_, as the allocation doesn't need to be
>>> aligned to the sector size.
>>>
>> if i have 10G small files in total, then it will consume 20G by default.
>>
>> ching
> No. No they will not. As I already explained.
>
> root@repository:/mnt$ mount ~/inline /mnt -o loop
> root@repository:/mnt$ mount ~/inline /mnt2 -o loop,max_inline=0
>
> root@repository:/mnt$ mount
> /dev/loop0 on /mnt type btrfs (rw)
> /dev/loop1 on /mnt2 type btrfs (rw,max_inline=0)
>
> root@repository:/mnt$ time for x in {1..243854}; do echo "some stuff"
>> /mnt/$x; done
> real 1m5.447s
> user 0m38.422s
> sys 0m18.493s
>
> root@repository:/mnt$ time for x in {1..243854}; do echo "some stuff"
>> /mnt2/$x; done
> real 1m49.880s
> user 0m40.379s
> sys 0m26.210s
>
> root@repository:/mnt$ df /mnt /mnt2
> Filesystem 1K-blocks Used Available Use% Mounted on
> /dev/loop0 10485760 266952 8359680 4% /mnt
> /dev/loop1 10485760 1311620 7384236 16% /mnt2
>
> root@repository:/mnt$ btrfs fi df /mnt
> Data: total=1.01GB, used=256.00KB
> System, DUP: total=8.00MB, used=4.00KB
> System: total=4.00MB, used=0.00
> Metadata, DUP: total=1.00GB, used=130.22MB
> Metadata: total=8.00MB, used=0.00
>
> root@repository:/mnt$ btrfs fi df /mnt2
> Data: total=2.01GB, used=953.05MB
> System, DUP: total=8.00MB, used=4.00KB
> System: total=4.00MB, used=0.00
> Metadata, DUP: total=1.00GB, used=164.03MB
> Metadata: total=8.00MB, used=0.00
>
> root@repository:/mnt$ btrfs fi show
> Label: none uuid: e5440337-9f44-4b2d-9889-80ab0ab8f245
> Total devices 1 FS bytes used 130.47MB
> devid 1 size 10.00GB used 3.04GB path /dev/loop0
>
> Label: none uuid: cfcc4149-3102-465d-89b8-0a6bb6a4749a
> Total devices 1 FS bytes used 1.09GB
> devid 1 size 10.00GB used 4.04GB path /dev/loop1
>
> Btrfs Btrfs v0.19
>
> Any questions?
>
can the test be repeated for:
1. 3k per file with leaf size=4K
2. 60k per file with leaf size=64k
next prev parent reply other threads:[~2012-10-30 23:42 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-10-30 11:04 Why btrfs inline small file by default? ching
2012-10-30 12:04 ` Felix Pepinghege
2012-10-30 12:17 ` cwillu
2012-10-30 21:40 ` ching
2012-10-30 22:14 ` Hugo Mills
2012-10-30 22:19 ` Hugo Mills
2012-10-30 23:47 ` ching
2012-10-31 0:12 ` David Sterba
2012-10-31 21:07 ` ching
2012-10-31 0:18 ` cwillu
2012-10-31 8:48 ` Ahmet Inan
2012-10-31 9:39 ` cwillu
2012-10-31 10:48 ` Ahmet Inan
2012-10-31 10:55 ` Michael Kjörling
2012-10-31 11:10 ` Ahmet Inan
2012-10-31 10:57 ` cwillu
2012-10-31 11:56 ` Michael Kjörling
2012-10-31 13:27 ` Ahmet Inan
2012-10-31 13:44 ` Roman Mamedov
2012-10-31 21:05 ` ching
2012-10-30 22:16 ` cwillu
2012-10-30 23:41 ` ching [this message]
2012-10-30 21:39 ` ching
2012-10-30 12:11 ` Felix Pepinghege
2012-10-30 12:13 ` Mitch Harder
2012-10-30 16:38 ` David Sterba
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=509065C7.2030903@gmail.com \
--to=lsching17@gmail.com \
--cc=cwillu@cwillu.com \
--cc=linux-btrfs@vger.kernel.org \
--cc=postfach@pepinghege.net \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.