[PVFS2-CVS] commit by neill in pvfs2/src/io/trove/trove-dbpf:
dbpf-dspace-db-cache.c dbpf-keyval-db-cache.c dbpf-keyval.c
dbpf-mgmt.c dbpf.h
CVS commit program
cvs at parl.clemson.edu
Wed Feb 18 14:11:19 EST 2004
Update of /projects/cvsroot/pvfs2/src/io/trove/trove-dbpf
In directory parlweb:/tmp/cvs-serv8589/src/io/trove/trove-dbpf
Modified Files:
dbpf-dspace-db-cache.c dbpf-keyval-db-cache.c dbpf-keyval.c
dbpf-mgmt.c dbpf.h
Log Message:
- replace the db->open flags with a define to easily change them globally
- same for the create flags for db->open
- experimentally drop in DB_DIRTY_READ flag on open to allow reads from written
but not yet committed memory (though we're still syncing everywhere so this
shouldn't take effect yet) and DB_THREAD, which apparently should be used
if trove is in threaded mode
- minor cleanups
Index: dbpf-dspace-db-cache.c
===================================================================
RCS file: /projects/cvsroot/pvfs2/src/io/trove/trove-dbpf/dbpf-dspace-db-cache.c,v
diff -p -u -r1.14 -r1.15
--- dbpf-dspace-db-cache.c 30 Jan 2004 20:12:13 -0000 1.14
+++ dbpf-dspace-db-cache.c 18 Feb 2004 19:11:19 -0000 1.15
@@ -145,29 +145,34 @@ int dbpf_dspace_dbcache_try_get(TROVE_co
db_p->err(db_p, ret, "%s: set_flags", filename);
assert(0);
}
- ret = dspace_db_cache[i].db_p->open(dspace_db_cache[i].db_p,
+ ret = dspace_db_cache[i].db_p->open(
+ dspace_db_cache[i].db_p,
#ifdef HAVE_TXNID_PARAMETER_TO_DB_OPEN
- NULL,
+ NULL,
#endif
- filename,
- NULL,
- DB_UNKNOWN,
- 0,
- 0);
- if (ret == ENOENT && create_flag != 0) {
+ filename,
+ NULL,
+ DB_UNKNOWN,
+ TROVE_DB_OPEN_FLAGS,
+ 0);
+
+ if (ret == ENOENT && create_flag != 0)
+ {
/* if no such DB and create_flag is set, try to create the DB */
- ret = dspace_db_cache[i].db_p->open(dspace_db_cache[i].db_p,
+ ret = dspace_db_cache[i].db_p->open(
+ dspace_db_cache[i].db_p,
#ifdef HAVE_TXNID_PARAMETER_TO_DB_OPEN
- NULL,
+ NULL,
#endif
- filename,
- NULL,
- DB_BTREE,
- DB_CREATE|DB_EXCL,
- 0644);
- if (ret != 0) assert(0);
+ filename,
+ NULL,
+ DB_BTREE,
+ TROVE_DB_CREATE_FLAGS,
+ 0644);
+ assert(ret == 0);
}
- else if (ret != 0) {
+ else if (ret != 0)
+ {
perror("dpbf_dspace_dbcache_get");
assert(0);
}
Index: dbpf-keyval-db-cache.c
===================================================================
RCS file: /projects/cvsroot/pvfs2/src/io/trove/trove-dbpf/dbpf-keyval-db-cache.c,v
diff -p -u -r1.29 -r1.30
--- dbpf-keyval-db-cache.c 11 Feb 2004 23:14:47 -0000 1.29
+++ dbpf-keyval-db-cache.c 18 Feb 2004 19:11:19 -0000 1.30
@@ -256,7 +256,7 @@ int dbpf_keyval_dbcache_try_get(TROVE_co
filename,
NULL,
DB_UNKNOWN,
- 0,
+ TROVE_DB_OPEN_FLAGS,
0);
if (ret == ENOENT && create_flag != 0)
{
@@ -267,7 +267,7 @@ int dbpf_keyval_dbcache_try_get(TROVE_co
filename,
NULL,
DB_BTREE,
- DB_CREATE|DB_EXCL,
+ TROVE_DB_CREATE_FLAGS,
0644);
/* this can easily happen if the server is out of disk space */
Index: dbpf-keyval.c
===================================================================
RCS file: /projects/cvsroot/pvfs2/src/io/trove/trove-dbpf/dbpf-keyval.c,v
diff -p -u -r1.31 -r1.32
--- dbpf-keyval.c 9 Feb 2004 21:59:02 -0000 1.31
+++ dbpf-keyval.c 18 Feb 2004 19:11:19 -0000 1.32
@@ -417,8 +417,6 @@ static int dbpf_keyval_remove_op_svc(str
return error;
}
-/* dbpf_keyval_validate()
- */
static int dbpf_keyval_validate(TROVE_coll_id coll_id,
TROVE_handle handle,
TROVE_ds_flags flags,
@@ -430,8 +428,6 @@ static int dbpf_keyval_validate(TROVE_co
return -TROVE_ENOSYS;
}
-/* dbpf_keyval_iterate()
- */
static int dbpf_keyval_iterate(TROVE_coll_id coll_id,
TROVE_handle handle,
TROVE_ds_position *position_p,
Index: dbpf-mgmt.c
===================================================================
RCS file: /projects/cvsroot/pvfs2/src/io/trove/trove-dbpf/dbpf-mgmt.c,v
diff -p -u -r1.37 -r1.38
--- dbpf-mgmt.c 18 Feb 2004 17:38:28 -0000 1.37
+++ dbpf-mgmt.c 18 Feb 2004 19:11:19 -0000 1.38
@@ -1203,7 +1203,7 @@ static int dbpf_db_create(char *dbname)
dbname,
NULL,
DB_BTREE,
- DB_CREATE|DB_EXCL,
+ TROVE_DB_CREATE_FLAGS,
0644)) != 0)
{
db_p->err(db_p, ret, "%s\n", dbname);
@@ -1248,7 +1248,8 @@ static DB *dbpf_db_open(char *dbname,
int ret;
DB *db_p;
- if ((ret = db_create(&db_p, NULL, 0)) != 0) {
+ if ((ret = db_create(&db_p, NULL, 0)) != 0)
+ {
*error_p = dbpf_db_error_to_trove_error(ret);
return NULL;
}
@@ -1257,10 +1258,11 @@ static DB *dbpf_db_open(char *dbname,
db_p->set_errpfx(db_p, "xxx");
/* DB_RECNUM makes it easier to iterate through every key in chunks */
- if ((ret = db_p->set_flags(db_p, DB_RECNUM)) != 0) {
- db_p->err(db_p, ret, "%s: set_flags", dbname);
- *error_p = dbpf_db_error_to_trove_error(ret);
- return NULL;
+ if ((ret = db_p->set_flags(db_p, DB_RECNUM)) != 0)
+ {
+ db_p->err(db_p, ret, "%s: set_flags", dbname);
+ *error_p = dbpf_db_error_to_trove_error(ret);
+ return NULL;
}
if ((ret = db_p->open(db_p,
#ifdef HAVE_TXNID_PARAMETER_TO_DB_OPEN
@@ -1269,13 +1271,12 @@ static DB *dbpf_db_open(char *dbname,
dbname,
NULL,
DB_BTREE,
- 0,
+ TROVE_DB_OPEN_FLAGS,
0)) != 0)
{
*error_p = dbpf_db_error_to_trove_error(ret);
return NULL;
}
-
return db_p;
}
Index: dbpf.h
===================================================================
RCS file: /projects/cvsroot/pvfs2/src/io/trove/trove-dbpf/dbpf.h,v
diff -p -u -r1.35 -r1.36
--- dbpf.h 18 Feb 2004 17:38:28 -0000 1.35
+++ dbpf.h 18 Feb 2004 19:11:19 -0000 1.36
@@ -21,6 +21,10 @@ extern "C" {
#define LAST_HANDLE_STRING "last_handle"
#define ROOT_HANDLE_STRING "root_handle"
+/* #define TROVE_DB_OPEN_FLAGS 0 */
+#define TROVE_DB_OPEN_FLAGS (DB_DIRTY_READ | DB_THREAD)
+#define TROVE_DB_CREATE_FLAGS (DB_CREATE | DB_EXCL)
+
/*
for more efficient host filesystem accesses, we have
a simple *_MAX_NUM_BUCKETS define that can be thought of more
More information about the PVFS2-CVS
mailing list