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
