All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jeff Garzik <jeff@garzik.org>
To: Akinobu Mita <akinobu.mita@gmail.com>
Cc: hail-devel@vger.kernel.org
Subject: Re: [PATCH 2/6] chunkd: change the prefix length of object pathname from 4 to 3
Date: Tue, 12 Jan 2010 06:27:15 -0500	[thread overview]
Message-ID: <4B4C5C93.6010709@garzik.org> (raw)
In-Reply-To: <961aa3351001120028t8c81487n62289c841a5dcb49@mail.gmail.com>

On 01/12/2010 03:28 AM, Akinobu Mita wrote:
> 2010/1/12 Jeff Garzik<jeff@garzik.org>:
>> On 01/11/2010 07:25 AM, Akinobu Mita wrote:
>>>
>>> The volume directory may have 2^16 (=65536) directories because
>>> prefix length of object pathname is 4 bytes. But ext3 filesystem can
>>> only have EXT_LINK_MAX (32000) directories.
>>>
>>> This changes the prefix length from 4 bytes to 3 bytes and breaks
>>> the volume data format compatibility with older version.
>>>
>>> Now the maximum count of links in volume directory is 2^12 (=4096)
>>> and it doesn't exceed ext3's upper limit of max links.
>>>
>>> Signed-off-by: Akinobu Mita<akinobu.mita@gmail.com>
>>> ---
>>>   server/be-fs.c |    2 +-
>>>   1 files changed, 1 insertions(+), 1 deletions(-)
>>
>> hey, welcome, new contributor!
>>
>> This patch makes sense, but it also raises the question of whether or not we
>> should move to a two-level directory scheme, eg.
>>
>>         123/456/7890ABCDEF
>>     rather than
>>         123/4567890ABCDEF
>>
>> to limit the size of the top-level directories.  It really depends on the
>> object counts a typical chunkd node will be seeing.  As with the other
>> patch, I will give this some thought after sleep.
>
> Two-level directory scheme looks good.
>
> I will do it unless someone thinks 536,870,912,000(=4096*4096*32000)
> objects in one table is not enough :)

FWIW, 32000 is only the limit on directories-with-a-directory.  You can 
easily have millions of regular files in a single ext3 directory.  So it 
is really 4096*4096*millions.

	Jeff



  reply	other threads:[~2010-01-12 11:27 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-01-11 12:25 [PATCH 1/6] chunkd: Don't hardcode the prefix length of object pathname Akinobu Mita
2010-01-11 12:25 ` [PATCH 2/6] chunkd: change the prefix length of object pathname from 4 to 3 Akinobu Mita
2010-01-12  2:55   ` Jeff Garzik
2010-01-12  8:28     ` Akinobu Mita
2010-01-12 11:27       ` Jeff Garzik [this message]
2010-01-13  3:50         ` Akinobu Mita
2010-01-13 10:52           ` Jeff Garzik
2010-01-11 12:25 ` [PATCH 3/6] chunkd: Don't return positive value on stc_get_recv failure Akinobu Mita
2010-01-11 12:25 ` [PATCH 4/6] chcli: Add -i option to read value from file Akinobu Mita
2010-01-11 12:25 ` [PATCH 5/6] chcli: fix error handling for write() Akinobu Mita
2010-01-11 12:25 ` [PATCH 6/6] chunkd: fix PUT/GET for more than 2GB values Akinobu Mita
2010-01-12 14:40   ` Jeff Garzik
2010-01-12 14:38 ` [PATCH 1/6] chunkd: Don't hardcode the prefix length of object pathname Jeff Garzik

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=4B4C5C93.6010709@garzik.org \
    --to=jeff@garzik.org \
    --cc=akinobu.mita@gmail.com \
    --cc=hail-devel@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.