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
-- 
sheepdog mailing list
[email protected]
http://lists.wpkg.org/mailman/listinfo/sheepdog

Reply via email to