commit 7a032e72bee324d8503d0c296aa940b05c8a12b2 Author: Jeff Garzik <jeff@xxxxxxxxxx> Date: Thu Jul 15 13:50:30 2010 -0400 chunkd: Pass PUT data length to new-object backend storage method It is useful to know the size of the object at creation time. Signed-off-by: Jeff Garzik <jgarzik@xxxxxxxxxx> chunkd/be-fs.c | 1 + chunkd/chunkd.h | 4 +++- chunkd/object.c | 6 ++++-- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/chunkd/be-fs.c b/chunkd/be-fs.c index 5c97388..671c8fd 100644 --- a/chunkd/be-fs.c +++ b/chunkd/be-fs.c @@ -316,6 +316,7 @@ static bool key_valid(const void *key, size_t key_len) struct backend_obj *fs_obj_new(uint32_t table_id, const void *key, size_t key_len, + uint64_t data_len, enum chunk_errcode *err_code) { struct fs_obj *obj; diff --git a/chunkd/chunkd.h b/chunkd/chunkd.h index 1e3741a..f0cd409 100644 --- a/chunkd/chunkd.h +++ b/chunkd/chunkd.h @@ -258,7 +258,9 @@ struct fs_obj_lister { extern int fs_open(void); extern void fs_close(void); extern void fs_free(void); -extern struct backend_obj *fs_obj_new(uint32_t table_id, const void *kbuf, size_t klen, +extern struct backend_obj *fs_obj_new(uint32_t table_id, + const void *kbuf, size_t klen, + uint64_t data_len, enum chunk_errcode *err_code); extern struct backend_obj *fs_obj_open(uint32_t table_id, const char *user, const void *kbuf, size_t klen, diff --git a/chunkd/object.c b/chunkd/object.c index badd199..fb48848 100644 --- a/chunkd/object.c +++ b/chunkd/object.c @@ -223,7 +223,8 @@ bool object_put(struct client *cli) if (!cli->out_ce) return cli_err(cli, che_InternalError, true); - cli->out_bo = fs_obj_new(cli->table_id, cli->key, cli->key_len, &err); + cli->out_bo = fs_obj_new(cli->table_id, cli->key, cli->key_len, + content_len, &err); if (!cli->out_bo) return cli_err(cli, err, true); @@ -374,7 +375,8 @@ static void worker_cp_thr(struct worker_info *wi) goto out; cli->out_bo = out_obj = fs_obj_new(cli->table_id, - cli->key, cli->key_len, &err); + cli->key, cli->key_len, + obj->size, &err); if (!cli->out_bo) goto out; -- To unsubscribe from this list: send the line "unsubscribe hail-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html