On Thu, Oct 24, 2013 at 05:46:22PM +0800, Robin Dong wrote: > Add the max number of objects and add new MACRO for index of inode. > > Signed-off-by: Robin Dong <[email protected]> > --- > include/sheepdog_proto.h | 10 ++++++---- > lib/option.c | 3 +++ > lib/sd_inode.c | 38 ++++++++++++++++++++------------------ > 3 files changed, 29 insertions(+), 22 deletions(-) > > diff --git a/include/sheepdog_proto.h b/include/sheepdog_proto.h > index 8c9be31..0f26c5f 100644 > --- a/include/sheepdog_proto.h > +++ b/include/sheepdog_proto.h > @@ -96,7 +96,7 @@ > #define VMSTATE_BIT (UINT64_C(1) << 62) > #define VDI_ATTR_BIT (UINT64_C(1) << 61) > #define VDI_BTREE_BIT (UINT64_C(1) << 60) > -#define MAX_DATA_OBJS (1ULL << 20) > +#define MAX_DATA_OBJS (1ULL << 32) > #define MAX_CHILDREN (1024U - 1) /* we use the last uint32_t as > btree_counter */ > #define SD_MAX_VDI_LEN 256U > #define SD_MAX_VDI_TAG_LEN 256U > @@ -108,8 +108,10 @@ > #define SD_MAX_VDI_SIZE (SD_DATA_OBJ_SIZE * MAX_DATA_OBJS) > > #define SD_INODE_SIZE (sizeof(struct sd_inode)) > -#define SD_INODE_INDEX_SIZE (sizeof(uint32_t) * MAX_DATA_OBJS) > -#define SD_INODE_HEADER_SIZE (sizeof(struct sd_inode) - SD_INODE_INDEX_SIZE) > +#define SD_INODE_DATA_INDEX (1ULL << 20) > +#define SD_INODE_DATA_INDEX_SIZE (sizeof(uint32_t) * SD_INODE_DATA_INDEX) > +#define SD_INODE_HEADER_SIZE (sizeof(struct sd_inode) - \ > + SD_INODE_DATA_INDEX_SIZE) > #define SD_ATTR_OBJ_SIZE (sizeof(struct sheepdog_vdi_attr)) > #define CURRENT_VDI_ID 0 > > @@ -227,7 +229,7 @@ struct sd_inode { > uint32_t parent_vdi_id; > uint32_t child_vdi_id[MAX_CHILDREN]; > uint32_t btree_counter; > - uint32_t data_vdi_id[MAX_DATA_OBJS]; > + uint32_t data_vdi_id[SD_INODE_DATA_INDEX]; > }; > > struct sd_extent { > diff --git a/lib/option.c b/lib/option.c > index d12c205..a74049b 100644 > --- a/lib/option.c > +++ b/lib/option.c > @@ -71,6 +71,9 @@ int option_parse_size(const char *value, uint64_t *ret) > goto err; > > switch (*postfix) { > + case 'P': > + case 'p': > + sizef *= 1024; > case 'T': > case 't': > sizef *= 1024;
Need to update help message of option_parse_size too. Thanks Yuan -- sheepdog mailing list [email protected] http://lists.wpkg.org/mailman/listinfo/sheepdog
