[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