commit 7a032e72bee324d8503d0c296aa940b05c8a12b2
Author: Jeff Garzik <j...@garzik.org>
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 <jgar...@redhat.com>

 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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to