Sheep calls fallocate before creating objects, so we don't need to send actual data to be written when preallocating objects.
Signed-off-by: MORITA Kazutaka <morita.kazut...@lab.ntt.co.jp> --- collie/vdi.c | 9 +++------ 1 files changed, 3 insertions(+), 6 deletions(-) diff --git a/collie/vdi.c b/collie/vdi.c index 9cedfac..3734dfb 100644 --- a/collie/vdi.c +++ b/collie/vdi.c @@ -510,7 +510,6 @@ static int vdi_create(int argc, char **argv) uint64_t oid; int idx, max_idx, ret; struct sheepdog_inode *inode = NULL; - char *buf = NULL; if (!argv[optind]) { fprintf(stderr, "Please specify the VDI size\n"); @@ -530,8 +529,7 @@ static int vdi_create(int argc, char **argv) goto out; inode = malloc(sizeof(*inode)); - buf = zalloc(SD_DATA_OBJ_SIZE); - if (!inode || !buf) { + if (!inode) { fprintf(stderr, "Failed to allocate memory\n"); ret = EXIT_SYSFAIL; goto out; @@ -548,8 +546,8 @@ static int vdi_create(int argc, char **argv) for (idx = 0; idx < max_idx; idx++) { oid = vid_to_data_oid(vid, idx); - ret = sd_write_object(oid, 0, buf, SD_DATA_OBJ_SIZE, 0, 0, - inode->nr_copies, true, true); + ret = sd_write_object(oid, 0, NULL, 0, 0, 0, inode->nr_copies, + true, true); if (ret != SD_RES_SUCCESS) { ret = EXIT_FAILURE; goto out; @@ -567,7 +565,6 @@ static int vdi_create(int argc, char **argv) ret = EXIT_SUCCESS; out: free(inode); - free(buf); return ret; } -- 1.7.2.5 -- sheepdog mailing list sheepdog@lists.wpkg.org http://lists.wpkg.org/mailman/listinfo/sheepdog