[PVFS2-CVS] commit by slang in pvfs2/src/io/trove/trove-dbpf: dbpf-bstream.c dbpf-dspace.c dbpf-keyval.c dbpf-op.c dbpf-op.h dbpf.h

CVS commit program cvs at parl.clemson.edu
Thu Jan 12 14:43:18 EST 2006


Update of /projects/cvsroot/pvfs2/src/io/trove/trove-dbpf
In directory parlweb:/tmp/cvs-serv3174/src/io/trove/trove-dbpf

Modified Files:
      Tag: dbpf-changes-branch
	dbpf-bstream.c dbpf-dspace.c dbpf-keyval.c dbpf-op.c dbpf-op.h 
	dbpf.h 
Log Message:
merging changes from HEAD to dbpf branch


Index: dbpf-bstream.c
===================================================================
RCS file: /projects/cvsroot/pvfs2/src/io/trove/trove-dbpf/dbpf-bstream.c,v
diff -p -u -r1.60 -r1.60.2.1
--- dbpf-bstream.c	14 Dec 2005 21:50:28 -0000	1.60
+++ dbpf-bstream.c	12 Jan 2006 19:43:18 -0000	1.60.2.1
@@ -1126,10 +1126,18 @@ static int dbpf_bstream_rw_list_op_svc(s
                               "WRITE" : "READ"), ret,
                              op_p->u.b_rw_list.fd);
 
-                /* we need to set the out size for the caller of write_list or
-                 * read_list
+                /* aio_return doesn't seem to return bytes read/written if 
+                 * sigev_notify == SIGEV_NONE, so we set the out size 
+                 * from what's requested.  For reads we just leave as zero,
+                 * which ends up being OK,
+                 * since the amount read (if past EOF its less than requested)
+                 * is determined from the bstream size.
                  */
-                *(op_p->u.b_rw_list.out_size_p) += ret;
+                if(op_p->type == BSTREAM_WRITE_LIST || 
+                   op_p->type == BSTREAM_WRITE_AT)
+                {
+                    *(op_p->u.b_rw_list.out_size_p) += aiocb_p[i].aio_nbytes;
+                }
 
                 /* mark as a NOP so we ignore it from now on */
                 aiocb_p[i].aio_lio_opcode = LIO_NOP;

Index: dbpf-dspace.c
===================================================================
RCS file: /projects/cvsroot/pvfs2/src/io/trove/trove-dbpf/dbpf-dspace.c,v
diff -p -u -r1.127.2.1 -r1.127.2.2
--- dbpf-dspace.c	15 Dec 2005 21:40:52 -0000	1.127.2.1
+++ dbpf-dspace.c	12 Jan 2006 19:43:18 -0000	1.127.2.2
@@ -42,6 +42,7 @@ extern gen_mutex_t *dbpf_completion_queu
 extern struct qlist_head dbpf_op_queue;
 extern gen_mutex_t dbpf_op_queue_mutex;
 #endif
+extern struct PINT_perf_counter* PINT_server_pc;
 
 int64_t s_dbpf_metadata_writes = 0, s_dbpf_metadata_reads = 0;
 
@@ -100,11 +101,7 @@ static int dbpf_dspace_create(TROVE_coll
                               TROVE_context_id context_id,
                               TROVE_op_id *out_op_id_p)
 {
-#ifndef PVFS2_DBPF_IMMEDIATE_COMPLETION
     dbpf_queued_op_t *q_op_p = NULL;
-#else
-    struct dbpf_op op;
-#endif
     struct dbpf_collection *coll_p = NULL;
 
     coll_p = dbpf_collection_find_registered(coll_id);
@@ -113,7 +110,6 @@ static int dbpf_dspace_create(TROVE_coll
         return -TROVE_EINVAL;
     }
 
-#ifndef PVFS2_DBPF_IMMEDIATE_COMPLETION
     q_op_p = dbpf_queued_op_alloc();
     if (q_op_p == NULL)
     {
@@ -158,19 +154,6 @@ static int dbpf_dspace_create(TROVE_coll
     *out_op_id_p = dbpf_queued_op_queue(q_op_p);
 
     return 0;
-#else
-    DBPF_OP_INIT(op,
-                 DSPACE_CREATE,
-                 OP_QUEUED,
-                 handle,
-                 coll_p,
-                 dbpf_dspace_create_op_svc,
-                 user_ptr,
-                 flags,
-                 context_id,
-                 0);
-    return dbpf_dspace_create_op_svc(&op);
-#endif
 }
 
 static int dbpf_dspace_create_op_svc(struct dbpf_op *op_p)
@@ -322,11 +305,7 @@ static int dbpf_dspace_remove(TROVE_coll
                               TROVE_context_id context_id,
                               TROVE_op_id *out_op_id_p)
 {
-#ifndef PVFS2_DBPF_IMMEDIATE_COMPLETION
     dbpf_queued_op_t *q_op_p = NULL;
-#else
-    struct dbpf_op op;
-#endif
     struct dbpf_collection *coll_p = NULL;
 
     coll_p = dbpf_collection_find_registered(coll_id);
@@ -334,8 +313,6 @@ static int dbpf_dspace_remove(TROVE_coll
     {
         return -TROVE_EINVAL;
     }
-
-#ifndef PVFS2_DBPF_IMMEDIATE_COMPLETION
     q_op_p = dbpf_queued_op_alloc();
     if (q_op_p == NULL)
     {
@@ -354,19 +331,6 @@ static int dbpf_dspace_remove(TROVE_coll
 
     *out_op_id_p = dbpf_queued_op_queue(q_op_p);
     return 0;
-#else
-    DBPF_OP_INIT(op,
-                 DSPACE_REMOVE,
-                 OP_QUEUED,
-                 handle,
-                 coll_p,
-                 dbpf_dspace_remove_op_svc,
-                 user_ptr,
-                 flags,
-                 context_id,
-                 0);
-    return dbpf_dspace_remove_op_svc(&op);
-#endif
 }
 
 static int dbpf_dspace_remove_op_svc(struct dbpf_op *op_p)
@@ -651,12 +615,7 @@ static int dbpf_dspace_verify(TROVE_coll
                               TROVE_context_id context_id,
                               TROVE_op_id *out_op_id_p)
 {
-#ifndef PVFS2_DBPF_IMMEDIATE_COMPLETION
     dbpf_queued_op_t *q_op_p = NULL;
-#else
-    struct dbpf_op op;
-#endif
-
     struct dbpf_collection *coll_p = NULL;
 
     coll_p = dbpf_collection_find_registered(coll_id);
@@ -664,8 +623,6 @@ static int dbpf_dspace_verify(TROVE_coll
     {
         return -TROVE_EINVAL;
     }
-
-#ifndef PVFS2_DBPF_IMMEDIATE_COMPLETION
     q_op_p = dbpf_queued_op_alloc();
     if (q_op_p == NULL)
     {
@@ -688,19 +645,6 @@ static int dbpf_dspace_verify(TROVE_coll
     *out_op_id_p = dbpf_queued_op_queue(q_op_p);
 
     return 0;
-#else
-    DBPF_OP_INIT(op,
-                 DSPACE_VERIFY,
-                 OP_QUEUED,
-                 handle,
-                 coll_p,
-                 dbpf_dspace_verify_op_svc,
-                 user_ptr,
-                 flags,
-                 context_id,
-                 0);
-    return dbpf_dspace_verify_op_svc(&op);
-#endif
 }
 
 static int dbpf_dspace_verify_op_svc(struct dbpf_op *op_p)
@@ -768,11 +712,7 @@ static int dbpf_dspace_getattr(TROVE_col
                                TROVE_context_id context_id,
                                TROVE_op_id *out_op_id_p)
 {
-#ifndef PVFS2_DBPF_IMMEDIATE_COMPLETION
     dbpf_queued_op_t *q_op_p = NULL;
-#else
-    struct dbpf_op op;
-#endif
     struct dbpf_collection *coll_p = NULL;
     TROVE_object_ref ref = {handle, coll_id};
 
@@ -806,8 +746,6 @@ static int dbpf_dspace_getattr(TROVE_col
     {
         return -TROVE_EINVAL;
     }
-
-#ifndef PVFS2_DBPF_IMMEDIATE_COMPLETION
     q_op_p = dbpf_queued_op_alloc();
     if (q_op_p == NULL)
     {
@@ -830,19 +768,6 @@ static int dbpf_dspace_getattr(TROVE_col
     *out_op_id_p = dbpf_queued_op_queue(q_op_p);
 
     return 0;
-#else
-    DBPF_OP_INIT(op,
-                 DSPACE_GETATTR,
-                 OP_QUEUED,
-                 handle,
-                 coll_p,
-                 dbpf_dspace_getattr_op_svc,
-                 user_ptr,
-                 flags,
-                 context_id,
-                 0);
-    return dbpf_dspace_getattr_op_svc(&op);
-#endif
 }
 
 static int dbpf_dspace_setattr(TROVE_coll_id coll_id,
@@ -853,11 +778,7 @@ static int dbpf_dspace_setattr(TROVE_col
                                TROVE_context_id context_id,
                                TROVE_op_id *out_op_id_p)
 {
-#ifndef PVFS2_DBPF_IMMEDIATE_COMPLETION
     dbpf_queued_op_t *q_op_p = NULL;
-#else
-    struct dbpf_op op;
-#endif
     struct dbpf_collection *coll_p = NULL;
 
     coll_p = dbpf_collection_find_registered(coll_id);
@@ -865,7 +786,6 @@ static int dbpf_dspace_setattr(TROVE_col
     {
         return -TROVE_EINVAL;
     }
-#ifndef PVFS2_DBPF_IMMEDIATE_COMPLETION
     q_op_p = dbpf_queued_op_alloc();
     if (q_op_p == NULL)
     {
@@ -888,19 +808,6 @@ static int dbpf_dspace_setattr(TROVE_col
     *out_op_id_p = dbpf_queued_op_queue(q_op_p);
 
     return 0;
-#else
-    DBPF_OP_INIT(op,
-                 DSPACE_SETATTR,
-                 OP_QUEUED,
-                 handle,
-                 coll_p,
-                 dbpf_dspace_setattr_op_svc,
-                 user_ptr,
-                 flags,
-                 context_id,
-                 0);
-    return dbpf_dspace_setattr_op_svc(&op);
-#endif
 }
 
 static int dbpf_dspace_setattr_op_svc(struct dbpf_op *op_p)

Index: dbpf-keyval.c
===================================================================
RCS file: /projects/cvsroot/pvfs2/src/io/trove/trove-dbpf/dbpf-keyval.c,v
diff -p -u -r1.55.2.1 -r1.55.2.2
--- dbpf-keyval.c	15 Dec 2005 21:40:52 -0000	1.55.2.1
+++ dbpf-keyval.c	12 Jan 2006 19:43:18 -0000	1.55.2.2
@@ -58,11 +58,7 @@ static int dbpf_keyval_read(TROVE_coll_i
                             TROVE_context_id context_id,
                             TROVE_op_id *out_op_id_p)
 {
-#ifndef PVFS2_DBPF_IMMEDIATE_COMPLETION
     dbpf_queued_op_t *q_op_p = NULL;
-#else
-    struct dbpf_op op; 
-#endif
     struct dbpf_collection *coll_p = NULL;
     dbpf_attr_cache_elem_t *cache_elem = NULL;
     TROVE_object_ref ref = {handle, coll_id};
@@ -95,7 +91,6 @@ static int dbpf_keyval_read(TROVE_coll_i
         return -TROVE_EINVAL;
     }
 
-#ifndef PVFS2_DBPF_IMMEDIATE_COMPLETION
     /* grab a queued op structure */
     q_op_p = dbpf_queued_op_alloc();
     if (q_op_p == NULL)
@@ -120,19 +115,6 @@ static int dbpf_keyval_read(TROVE_coll_i
     *out_op_id_p = dbpf_queued_op_queue(q_op_p);
 
     return 0;
-#else
-    DBPF_OP_INIT(op,
-                 KEYVAL_READ,
-                 OP_QUEUED,
-                 handle,
-                 coll_p,
-                 dbpf_keyval_read_op_svc,
-                 user_ptr,
-                 flags,
-                 context_id,
-                 0);
-    return dbpf_keyval_read_op_svc(&op);
-#endif
 }
 
 static int dbpf_keyval_read_op_svc(struct dbpf_op *op_p)
@@ -229,11 +211,7 @@ static int dbpf_keyval_write(TROVE_coll_
                              TROVE_context_id context_id,
                              TROVE_op_id *out_op_id_p)
 {
-#ifndef PVFS2_DBPF_IMMEDIATE_COMPLETION
     dbpf_queued_op_t *q_op_p = NULL;
-#else
-    struct dbpf_op op;
-#endif;
     struct dbpf_collection *coll_p = NULL;
 
     coll_p = dbpf_collection_find_registered(coll_id);
@@ -241,8 +219,6 @@ static int dbpf_keyval_write(TROVE_coll_
     {
         return -TROVE_EINVAL;
     }
-
-#ifndef PVFS2_DBPF_IMMEDIATE_COMPLETION
     q_op_p = dbpf_queued_op_alloc();
     if (q_op_p == NULL)
     {
@@ -266,19 +242,6 @@ static int dbpf_keyval_write(TROVE_coll_
     *out_op_id_p = dbpf_queued_op_queue(q_op_p);
         
     return 0;
-#else
-    DBPF_OP_INIT(op,
-                 KEYVAL_WRITE,
-                 OP_QUEUED,
-                 handle,
-                 coll_p,
-                 dbpf_keyval_write_op_svc,
-                 user_ptr,
-                 flags,
-                 context_id,
-                 0);
-    return dbpf_keyval_write_op_svc(&op);
-#endif
 }
 
 static int dbpf_keyval_write_op_svc(struct dbpf_op *op_p)
@@ -441,11 +404,7 @@ static int dbpf_keyval_remove(TROVE_coll
                               TROVE_context_id context_id,
                               TROVE_op_id *out_op_id_p)
 {
-#ifndef PVFS2_DBPF_IMMEDIATE_COMPLETION
     dbpf_queued_op_t *q_op_p = NULL;
-#else
-    struct dbpf_op op;
-#endif
     struct dbpf_collection *coll_p = NULL;
 
     coll_p = dbpf_collection_find_registered(coll_id);
@@ -453,8 +412,6 @@ static int dbpf_keyval_remove(TROVE_coll
     {
         return -TROVE_EINVAL;
     }
-
-#ifndef PVFS2_DBPF_IMMEDIATE_COMPLETION
     q_op_p = dbpf_queued_op_alloc();
     if (q_op_p == NULL)
     {
@@ -477,19 +434,6 @@ static int dbpf_keyval_remove(TROVE_coll
     *out_op_id_p = dbpf_queued_op_queue(q_op_p);
         
     return 0;
-#else
-    DBPF_OP_INIT(op,
-                 KEYVAL_REMOVE_KEY,
-                 OP_QUEUED,
-                 handle,
-                 coll_p,
-                 svc_fn,
-                 user_ptr,
-                 flags,
-                 context_id,
-                 0);
-    return dbpf_keyval_remove_op_svc(&op);
-#endif
 }
 
 static int dbpf_keyval_remove_op_svc(struct dbpf_op *op_p)
@@ -1105,11 +1049,7 @@ static int dbpf_keyval_read_list(TROVE_c
                                  TROVE_context_id context_id,
                                  TROVE_op_id *out_op_id_p)
 {
-#ifndef PVFS2_DBPF_IMMEDIATE_COMPLETION
     dbpf_queued_op_t *q_op_p = NULL;
-#else
-    struct dbpf_op op;
-#endif
     struct dbpf_collection *coll_p = NULL;
 
     coll_p = dbpf_collection_find_registered(coll_id);
@@ -1117,8 +1057,6 @@ static int dbpf_keyval_read_list(TROVE_c
     {
         return -TROVE_EINVAL;
     }
-
-#ifndef PVFS2_DBPF_IMMEDIATE_COMPLETION
     q_op_p = dbpf_queued_op_alloc();
     if (q_op_p == NULL)
     {
@@ -1143,18 +1081,6 @@ static int dbpf_keyval_read_list(TROVE_c
     *out_op_id_p = dbpf_queued_op_queue(q_op_p);
 
     return 0;
-#else
-    DBPF_OP_INIT(op,
-                 KEYVAL_READ_LIST,
-                 handle,
-                 coll_p,
-                 dbpf_keyval_read_list_op_svc,
-                 user_ptr,
-                 flags,
-                 context_id,
-                 0);
-    return dbpf_keyval_read_list_op_svc(&op);
-#endif
 }
 
 static int dbpf_keyval_read_list_op_svc(struct dbpf_op *op_p)
@@ -1218,11 +1144,7 @@ static int dbpf_keyval_write_list(TROVE_
                                   TROVE_context_id context_id,
                                   TROVE_op_id *out_op_id_p)
 {
-#ifndef PVFS2_DBPF_IMMEDIATE_COMPLETION
     dbpf_queued_op_t *q_op_p = NULL;
-#else
-    struct dbpf_op op;
-#endif
     struct dbpf_collection *coll_p = NULL;
 
     coll_p = dbpf_collection_find_registered(coll_id);
@@ -1230,8 +1152,6 @@ static int dbpf_keyval_write_list(TROVE_
     {
         return -TROVE_EINVAL;
     }
-
-#ifndef PVFS2_DBPF_IMMEDIATE_COMPLETION 
     q_op_p = dbpf_queued_op_alloc();
     if (q_op_p == NULL)
     {
@@ -1256,18 +1176,6 @@ static int dbpf_keyval_write_list(TROVE_
     *out_op_id_p = dbpf_queued_op_queue(q_op_p);
 
     return 0;
-#else
-    DBPF_OP_INIT(op,
-                 KEYVAL_WRITE_LIST,
-                 handle,
-                 coll_p,
-                 dbpf_keyval_write_list_op_svc,
-                 user_ptr,
-                 flags,
-                 context_id,
-                 0);
-    return dbpf_keyval_write_list_op_svc(&op);
-#endif
 }
 
 static int dbpf_keyval_write_list_op_svc(struct dbpf_op *op_p)
@@ -1419,11 +1327,7 @@ static int dbpf_keyval_flush(TROVE_coll_
                              TROVE_context_id context_id,
                              TROVE_op_id *out_op_id_p)
 {
-#ifndef PVFS2_DBPF_IMMEDIATE_COMPLETION
     dbpf_queued_op_t *q_op_p = NULL;
-#else
-    struct dbpf_op op;
-#endif 
     struct dbpf_collection *coll_p = NULL;
     
     coll_p = dbpf_collection_find_registered(coll_id);
@@ -1431,8 +1335,6 @@ static int dbpf_keyval_flush(TROVE_coll_
     {
         return -TROVE_EINVAL;
     }
-
-#ifndef PVFS2_DBPF_IMMEDIATE_COMPLETION
     q_op_p = dbpf_queued_op_alloc();
     if (q_op_p == NULL)
     {
@@ -1452,18 +1354,6 @@ static int dbpf_keyval_flush(TROVE_coll_
     *out_op_id_p = dbpf_queued_op_queue(q_op_p);
 
     return 0;
-#else
-    DBPF_OP_INIT(op,
-                 KEYVAL_FLUSH,
-                 handle,
-                 coll_p,
-                 dbpf_keyval_flush_op_svc,
-                 user_ptr,
-                 flags,
-                 context_id,
-                 0);
-    return dbpf_keyval_flush_op_svc(&op);
-#endif
 }
 
 static int dbpf_keyval_flush_op_svc(struct dbpf_op *op_p)

Index: dbpf-op.c
===================================================================
RCS file: /projects/cvsroot/pvfs2/src/io/trove/trove-dbpf/dbpf-op.c,v
diff -p -u -r1.9.22.1 -r1.9.22.2
--- dbpf-op.c	15 Dec 2005 21:40:52 -0000	1.9.22.1
+++ dbpf-op.c	12 Jan 2006 19:43:18 -0000	1.9.22.2
@@ -33,25 +33,22 @@ void dbpf_queued_op_init(
     TROVE_ds_flags flags,
     TROVE_context_id context_id)
 {
-    TROVE_op_id id;
     assert(q_op_p);
     memset(q_op_p, 0, sizeof(dbpf_queued_op_t));
 
     INIT_QLIST_HEAD(&q_op_p->link);
     gen_mutex_init(&q_op_p->mutex);
-    id_gen_fast_register(&id, q_op_p);
     q_op_p->state = 0;
-    
-    DBPF_OP_INIT(q_op_p->op,
-                 type, 
-                 OP_NOT_QUEUED, 
-                 handle, 
-                 coll_p, 
-                 svc_fn, 
-                 user_ptr, 
-                 flags, 
-                 context_id,
-                 id);
+    q_op_p->op.type = type;
+    q_op_p->op.state = OP_NOT_QUEUED;
+    q_op_p->op.handle = handle;
+    q_op_p->op.coll_p = coll_p;
+    q_op_p->op.svc_fn = svc_fn;
+    q_op_p->op.user_ptr = user_ptr;
+    q_op_p->op.flags = flags;
+    q_op_p->op.context_id = context_id;
+
+    id_gen_fast_register(&q_op_p->op.id, q_op_p);
 }
 
 void dbpf_queued_op_free(dbpf_queued_op_t *q_op_p)

Index: dbpf-op.h
===================================================================
RCS file: /projects/cvsroot/pvfs2/src/io/trove/trove-dbpf/dbpf-op.h,v
diff -p -u -r1.5.22.1 -r1.5.22.2
--- dbpf-op.h	15 Dec 2005 21:40:52 -0000	1.5.22.1
+++ dbpf-op.h	12 Jan 2006 19:43:18 -0000	1.5.22.2
@@ -65,22 +65,6 @@ void dbpf_queued_op_free(
 void dbpf_queued_op_touch(
     dbpf_queued_op_t *q_op_p);
 
-#define DBPF_OP_INIT(_op, _type, _state, _handle, \
-                     _coll_p, _svc_fn, _user_ptr, \
-                     _flags, _context_id, _id) \
-do { \
-    _op.type = _type; \
-    _op.state = _state; \
-    _op.handle = _handle; \
-    _op.coll_p = _coll_p; \
-    _op.svc_fn = _svc_fn; \
-    _op.user_ptr = _user_ptr; \
-    _op.flags = _flags; \
-    _op.context_id = _context_id; \
-    _op.id = _id; \
-} while(0)
-
-
 #if defined(__cplusplus)
 }
 #endif

Index: dbpf.h
===================================================================
RCS file: /projects/cvsroot/pvfs2/src/io/trove/trove-dbpf/dbpf.h,v
diff -p -u -r1.60 -r1.60.2.1
--- dbpf.h	14 Dec 2005 21:50:29 -0000	1.60
+++ dbpf.h	12 Jan 2006 19:43:18 -0000	1.60.2.1
@@ -490,13 +490,13 @@ extern struct dbpf_storage *my_storage_p
 extern int64_t s_dbpf_metadata_writes, s_dbpf_metadata_reads;
 #define UPDATE_PERF_METADATA_READ()                         \
 do {                                                        \
-    PINT_perf_count(PINT_PERF_METADATA_READ,                \
+    PINT_perf_count(PINT_server_pc, PINT_PERF_METADATA_READ,\
                     ++s_dbpf_metadata_reads, PINT_PERF_SET);\
 } while(0)
 
 #define UPDATE_PERF_METADATA_WRITE()                         \
 do {                                                         \
-    PINT_perf_count(PINT_PERF_METADATA_WRITE,                \
+    PINT_perf_count(PINT_server_pc, PINT_PERF_METADATA_WRITE,\
                     ++s_dbpf_metadata_writes, PINT_PERF_SET);\
 } while(0)
 



More information about the PVFS2-CVS mailing list