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

Robin Dong robin.k.dong at gmail.com
Mon Nov 4 06:11:52 CET 2013


2013/11/1 Liu Yuan <namei.unix at gmail.com>

> On Fri, Nov 01, 2013 at 06:23:56PM +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.
> >
> > 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
>
> I tried 'vdi check', and got
>
> yliu at ubuntu-precise:~/sheepdog$ dog/dog vdi check test
> 100.0 %
> [===================================================================================================]
> 200 MB / 200 MB
> 100.0 %
> [===================================================================================================]
> 200 MB / 200 MB
> 198.0 %
> [===================================================================================================]
> 396 MB / 200 MB    finish check&repair test
>
> I didn't expect this output because there is only 200MB data + inodes to
> check
> and we should only see output
>
> 100.0 %
> [===================================================================================================]
> 200 MB / 200 MB
>
> The last '396MB / 200 MB' looks weird to me.
>
> Thanks
> Yuan
>

I have tried to create and check a vdi, but everything is ok:

[root at core097012.sqa.cm4 ~]# dog vdi list
  Name        Id    Size    Used  Shared    Creation time   VDI id  Copies
 Tag
  my           0   16 PB  0.0 MB  0.0 MB 2013-11-04 13:08   502113     3

  ym           0  200 MB   24 MB  0.0 MB 2013-11-04 13:08   8a0fdb     3

[root at core097012.sqa.cm4 ~]# dog vdi check ym
100.0 %
[==========================================================================================================================================================]
200 MB / 200 MB
finish check&repair ym


Is there something special you did to the cluster ?

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


More information about the sheepdog mailing list