[PVFS2-CVS] commit by neill in pvfs2/src/io/trove/trove-dbpf: dbpf-mgmt.c dbpf-op.h dbpf-thread.c dbpf.h

CVS commit program cvs at parl.clemson.edu
Wed Feb 18 12:38:29 EST 2004


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

Modified Files:
	dbpf-mgmt.c dbpf-op.h dbpf-thread.c dbpf.h 
Log Message:
- added some debugging to get an idea of how the trove metadata syncs are
  affecting us
- enforced the trove_sync_mode flag in a few more places, but being careful
  to sync some operations that *must* be sync'd
- some cleanups


Index: dbpf-mgmt.c
===================================================================
RCS file: /projects/cvsroot/pvfs2/src/io/trove/trove-dbpf/dbpf-mgmt.c,v
diff -p -u -r1.36 -r1.37
--- dbpf-mgmt.c	30 Jan 2004 20:12:13 -0000	1.36
+++ dbpf-mgmt.c	18 Feb 2004 17:38:28 -0000	1.37
@@ -1300,6 +1300,55 @@ struct TROVE_mgmt_ops dbpf_mgmt_ops =
     dbpf_collection_geteattr
 };
 
+typedef struct
+{
+    enum dbpf_op_type op_type;
+    char op_type_str[32];
+} __dbpf_op_type_str_map_t;
+
+static __dbpf_op_type_str_map_t s_dbpf_op_type_str_map[] =
+{
+    { BSTREAM_READ_AT, "BSTREAM_READ_AT" },
+    { BSTREAM_WRITE_AT, "BSTREAM_WRITE_AT" },
+    { BSTREAM_RESIZE, "BSTREAM_RESIZE" },
+    { BSTREAM_READ_LIST, "BSTREAM_READ_LIST" },
+    { BSTREAM_WRITE_LIST, "BSTREAM_WRITE_LIST" },
+    { BSTREAM_VALIDATE, "BSTREAM_VALIDATE" },
+    { BSTREAM_FLUSH, "BSTREAM_FLUSH" },
+    { KEYVAL_READ, "KEYVAL_READ" },
+    { KEYVAL_WRITE, "KEYVAL_WRITE" },
+    { KEYVAL_REMOVE_KEY, "KEYVAL_REMOVE_KEY" },
+    { KEYVAL_VALIDATE, "KEYVAL_VALIDATE" },
+    { KEYVAL_ITERATE, "KEYVAL_ITERATE" },
+    { KEYVAL_ITERATE_KEYS, "KEYVAL_ITERATE_KEYS" },
+    { KEYVAL_READ_LIST, "KEYVAL_READ_LIST" },
+    { KEYVAL_WRITE_LIST, "KEYVAL_WRITE_LIST" },
+    { KEYVAL_FLUSH, "KEYVAL_FLUSH" },
+    { DSPACE_CREATE, "DSPACE_CREATE" },
+    { DSPACE_REMOVE, "DSPACE_REMOVE" },
+    { DSPACE_ITERATE_HANDLES, "DSPACE_ITERATE_HANDLES" },
+    { DSPACE_VERIFY, "DSPACE_VERIFY" },
+    { DSPACE_GETATTR, "DSPACE_GETATTR" },
+    { DSPACE_SETATTR, "DSPACE_SETATTR" }
+};
+
+char *dbpf_op_type_to_str(enum dbpf_op_type op_type)
+{
+    int i = 0;
+    char *ret = NULL;
+    int num_elems = (sizeof(s_dbpf_op_type_str_map) /
+                     sizeof(__dbpf_op_type_str_map_t));
+
+    for(i = 0; i < num_elems; i++)
+    {
+        if (op_type == s_dbpf_op_type_str_map[i].op_type)
+        {
+            ret = s_dbpf_op_type_str_map[i].op_type_str;
+            break;
+        }
+    }
+    return ret;
+}
 
 /*
  * Local variables:

Index: dbpf-op.h
===================================================================
RCS file: /projects/cvsroot/pvfs2/src/io/trove/trove-dbpf/dbpf-op.h,v
diff -p -u -r1.2 -r1.3
--- dbpf-op.h	18 Jul 2003 16:51:19 -0000	1.2
+++ dbpf-op.h	18 Feb 2004 17:38:28 -0000	1.3
@@ -66,7 +66,6 @@ void dbpf_queued_op_free(
 void dbpf_queued_op_touch(
     dbpf_queued_op_t *q_op_p);
 
-
 #if defined(__cplusplus)
 }
 #endif

Index: dbpf-thread.c
===================================================================
RCS file: /projects/cvsroot/pvfs2/src/io/trove/trove-dbpf/dbpf-thread.c,v
diff -p -u -r1.19 -r1.20
--- dbpf-thread.c	2 Feb 2004 22:50:25 -0000	1.19
+++ dbpf-thread.c	18 Feb 2004 17:38:28 -0000	1.20
@@ -173,9 +173,15 @@ int dbpf_do_one_work_cycle(int *out_coun
         {
             return ret;
         }
-        
+
         /* otherwise, service the current operation now */
+        gossip_debug(GOSSIP_TROVE_DEBUG,"***** STARTING TROVE "
+                     "SERVICE ROUTINE (%s) *****\n",
+                     dbpf_op_type_to_str(cur_op->op.type));
         ret = cur_op->op.svc_fn(&(cur_op->op));
+        gossip_debug(GOSSIP_TROVE_DEBUG,"***** FINISHED TROVE "
+                     "SERVICE ROUTINE (%s) *****\n",
+                     dbpf_op_type_to_str(cur_op->op.type));
         if (ret != 0)
         {
             /* operation is done and we are telling the caller;

Index: dbpf.h
===================================================================
RCS file: /projects/cvsroot/pvfs2/src/io/trove/trove-dbpf/dbpf.h,v
diff -p -u -r1.34 -r1.35
--- dbpf.h	4 Feb 2004 00:35:27 -0000	1.34
+++ dbpf.h	18 Feb 2004 17:38:28 -0000	1.35
@@ -304,6 +304,12 @@ enum dbpf_op_type
     DSPACE_SETATTR
 };
 
+/*
+  a function useful for debugging that returns a human readable
+  op_type name given an op_type; returns NULL if no match is found
+*/
+char *dbpf_op_type_to_str(enum dbpf_op_type op_type);
+
 enum dbpf_op_state
 {
     OP_UNITIALIZED = 0,



More information about the PVFS2-CVS mailing list