[sheepdog] [PATCH v5 0/8] replace structure of inode->data_vdi_id[] from array to b-tree

Robin Dong robin.k.dong at gmail.com
Tue Nov 5 10:59:42 CET 2013


sorry for that the patch number is disorder.

I will send them out again.


2013/11/5 Robin Dong <robin.k.dong at gmail.com>

> 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.
>
> v4 --> v5 changes:
>         1. object_cache works for hyper volume now
>         2. put 'btree_counter' after 'data_vdi_id[]' in sd_inode
>         3. add vdi_clone support for hyper volume
>
> v3 --> v4 changes:
>         1. let hyper volume work with object cache
>         2. let hyper volume work with vdi_list vdi_check
>         3. let all test case pass
>         4. add new test case for hyper volume
>
> v2 --> v3 changes:
>         1. move "btree_counter" after inode->child_vdi_id[]
>         2. add new interface to write inode meta data
>         3. change the names of some MACRO
>
> v1 --> v2 changes:
>         1. fix the problem of create 16PB vdi and mkfs.xfs
>         2. add comment and illustration to explain how B-tree works
>
> Thanks,
> Robin Dong
>



-- 
--
Best Regard
Robin Dong
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.wpkg.org/pipermail/sheepdog/attachments/20131105/c9c2896b/attachment-0004.html>


More information about the sheepdog mailing list