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*jg��������ݢj/���z�ޖ��2�ޙ���&�)ߡ�a�����G���h��j:+v���w�٥



--
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