[Pvfs2-cvs] commit by pcarns in pvfs2-1/src/io/trove/trove-dbpf: dbpf-keyval.c

CVS commit program cvs at parl.clemson.edu
Wed Feb 6 15:42:51 EST 2008


Update of /projects/cvsroot/pvfs2-1/src/io/trove/trove-dbpf
In directory parlweb1:/tmp/cvs-serv30719/trove-dbpf

Modified Files:
      Tag: small-file-branch
	dbpf-keyval.c 
Log Message:
allow keyval_write_list() to take a NULL val array (writing empty values for
each key)


Index: dbpf-keyval.c
===================================================================
RCS file: /projects/cvsroot/pvfs2-1/src/io/trove/trove-dbpf/dbpf-keyval.c,v
diff -p -u -r1.85.6.4 -r1.85.6.5
--- dbpf-keyval.c	6 Feb 2008 19:52:31 -0000	1.85.6.4
+++ dbpf-keyval.c	6 Feb 2008 20:42:51 -0000	1.85.6.5
@@ -1237,8 +1237,17 @@ static int dbpf_keyval_write_list_op_svc
             op_p->u.k_write_list.key_array[k].buffer_sz);
 
         data.flags = 0;
-        data.data = op_p->u.k_write_list.val_array[k].buffer;
-        data.size = data.ulen = op_p->u.k_write_list.val_array[k].buffer_sz;
+        /* allow NULL val array (writes an empty value to each position */
+        if(!op_p->u.k_write_list.val_array)
+        {
+            data.data = NULL;
+            data.size = data.ulen = 0;
+        }
+        else
+        {
+            data.data = op_p->u.k_write_list.val_array[k].buffer;
+            data.size = data.ulen = op_p->u.k_write_list.val_array[k].buffer_sz;
+        }
 
         gossip_debug(GOSSIP_DBPF_KEYVAL_DEBUG,
                      "keyval_db->put(handle= %llu, key= %*s (%d)) size=%d\n",
@@ -1282,7 +1291,7 @@ static int dbpf_keyval_write_list_op_svc
         {
             if (dbpf_attr_cache_elem_set_data_based_on_key(
                     ref, key_entry.key,
-                    op_p->u.k_write_list.val_array[k].buffer, data.size))
+                    data.data, data.size))
             {
                 /*
 NOTE: this can happen if the keyword isn't registered,



More information about the Pvfs2-cvs mailing list