All of lore.kernel.org
 help / color / mirror / Atom feed
From: Qu Wenruo <quwenruo@cn.fujitsu.com>
To: "Libor Klepáč" <libor.klepac@bcom.cz>,
	"linux-btrfs@vger.kernel.org" <linux-btrfs@vger.kernel.org>
Subject: Re: Btrfs send to send out metadata and data separately
Date: Mon, 1 Aug 2016 09:22:40 +0800	[thread overview]
Message-ID: <140dea59-c35d-dac6-0686-229e7a1e70a2@cn.fujitsu.com> (raw)
In-Reply-To: <8930800.y3r4nzIv9U@libor-nb>



At 07/29/2016 09:14 PM, Libor Klepáč wrote:
> Hello,
>
> just a little question on receiver point 0), see bellow
>
> Dne pátek 29. července 2016 20:40:38 CEST, Qu Wenruo napsal(a):
>> Hi Filipe, and maintainers,
>>
>> Receive will do the following thing first before recovering the
>> subvolume/snapshot:
>>
>> 0) Create temporary dir for data extents
>>     Create a new dir with temporary name($data_extent), to put data
>> extents into it.
>
> These are the directories in format "o4095916-21925-0" on receiver side?

That's the temporary dir/file receive creates.

If using send-test(not complied anymore), you will see that that's how 
receive recover files/dirs:

1) mkfile/mkdir with temporary name
2) rename temporary file/dir to its final name

>
> I'm in middle of send/receive and i have over 300 thousand of them already.
> I was always told, that directory with lots of items suffers on performance
> (but i newer used btrfs before :), is that true?

Not completely true.

The fact is even worse, no matter dir or file, if there are too much 
inodes/extents in a *subvolume/snapshot*, it will be slowed down.

Unlike normal fs (ext*/xfs), btrfs put all dir/file info into one 
subvolume tree.

But that's to say, if you design the subvolume layout carefully, which 
means never put too many things into one subvolume, then it should not 
be a big problem though.

>
> Should it be little structured (subdirs based on extent number, for example) ?

Dir and file are sharing the same subvolume/dir tree, so subdir won't help.

But I can create a new subvolume for data extents, and reflink can work 
across subvolumes.
So that's won't cause a big problem though.

Thanks,
Qu

>
> Libor
> N�����r��y���b�X��ǧv�^�)޺{.n�+����{�n�߲)���w*\x1fjg���\x1e�����ݢj/���z�ޖ��2�ޙ���&�)ߡ�a��\x7f��\x1e�G���h�\x0f�j:+v���w�٥
>



  reply	other threads:[~2016-08-01  1:30 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-07-29 12:40 Btrfs send to send out metadata and data separately Qu Wenruo
2016-07-29 13:14 ` Libor Klepáč
2016-08-01  1:22   ` Qu Wenruo [this message]
2016-07-30 18:49 ` g.btrfs
2016-08-01  1:39   ` Qu Wenruo
2016-08-01 18:00 ` Filipe Manana
2016-08-02  1:20   ` Qu Wenruo
2016-08-03  9:05     ` Filipe Manana
2016-08-04  1:52       ` Qu Wenruo
2016-08-24  2:36         ` Qu Wenruo
2016-08-24  8:53           ` Filipe Manana

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=140dea59-c35d-dac6-0686-229e7a1e70a2@cn.fujitsu.com \
    --to=quwenruo@cn.fujitsu.com \
    --cc=libor.klepac@bcom.cz \
    --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 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.