[sheepdog] [PATCH v7 00/10] replace structure of inode->data_vdi_id[] from array to b-tree
Liu Yuan
namei.unix at gmail.com
Mon Nov 18 08:05:48 CET 2013
On Sat, Nov 16, 2013 at 10:57:29PM +0800, Robin Dong wrote:
> Hi all,
>
> The size of vdi can only reach 4TB beacause the inode->data_vdi_id[] can only
> support 1 million objects. But 4TB is too small for storage application
> such as NAS and cloud-disk therefore we need to change the array of 'data_vdi_id' to
> b-tree.
>
> This patchset add B-tree structure into sd_inode. It support just two levels
> (one root-node and many leaf-nodes) and after this the size of vdi could reach about
> (4MB / sizeof(sd_extent_header) * (4MB / sizeof(sd_extent)) * 4MB which is about 680PB
> in theory.
>
> Currently the vdi size can raise to 16PB because the size of oid is just 32-bits, but
> it is certainly enough for many storage requirement.
>
> v6 --> v7 changes:
> 1. add support for erasure-code
> 2. change help information for hyper volume
> 3. modify idx_to_oid() to support object-cache correctly
> 4. add comment for test-case of hyper volume
One minor comment, we shouldn't allow creating vdi larger than 16PB, but
$ dog vdi create test 17P -b
can succeed and write
Patch set needs to rebase to current master.
Thanks
Yuan
More information about the sheepdog
mailing list