summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/dbwrap/dbwrap_local_open.c9
-rw-r--r--lib/dbwrap/dbwrap_tdb.c8
-rw-r--r--lib/dbwrap/dbwrap_tdb.h1
-rw-r--r--source4/ntvfs/posix/python/pyxattr_tdb.c15
4 files changed, 19 insertions, 14 deletions
diff --git a/lib/dbwrap/dbwrap_local_open.c b/lib/dbwrap/dbwrap_local_open.c
index 6509ff97871..c350fd3ea42 100644
--- a/lib/dbwrap/dbwrap_local_open.c
+++ b/lib/dbwrap/dbwrap_local_open.c
@@ -34,8 +34,13 @@ struct db_context *dbwrap_local_open(TALLOC_CTX *mem_ctx,
{
struct db_context *db = NULL;
- db = db_open_tdb(mem_ctx, lp_ctx, name, hash_size,
- tdb_flags, open_flags, mode,
+ if (hash_size == 0) {
+ hash_size = lpcfg_tdb_hash_size(lp_ctx, name);
+ }
+
+ db = db_open_tdb(mem_ctx, name, hash_size,
+ lpcfg_tdb_flags(lp_ctx, tdb_flags),
+ open_flags, mode,
lock_order, dbwrap_flags);
return db;
diff --git a/lib/dbwrap/dbwrap_tdb.c b/lib/dbwrap/dbwrap_tdb.c
index 2bc123e36d3..574b5d93d47 100644
--- a/lib/dbwrap/dbwrap_tdb.c
+++ b/lib/dbwrap/dbwrap_tdb.c
@@ -397,7 +397,6 @@ static void db_tdb_id(struct db_context *db, const uint8_t **id, size_t *idlen)
}
struct db_context *db_open_tdb(TALLOC_CTX *mem_ctx,
- struct loadparm_context *lp_ctx,
const char *name,
int hash_size, int tdb_flags,
int open_flags, mode_t mode,
@@ -421,12 +420,7 @@ struct db_context *db_open_tdb(TALLOC_CTX *mem_ctx,
}
result->lock_order = lock_order;
- if (hash_size == 0) {
- hash_size = lpcfg_tdb_hash_size(lp_ctx, name);
- }
-
- db_tdb->wtdb = tdb_wrap_open(db_tdb, name, hash_size,
- lpcfg_tdb_flags(lp_ctx, tdb_flags),
+ db_tdb->wtdb = tdb_wrap_open(db_tdb, name, hash_size, tdb_flags,
open_flags, mode);
if (db_tdb->wtdb == NULL) {
DEBUG(3, ("Could not open tdb: %s\n", strerror(errno)));
diff --git a/lib/dbwrap/dbwrap_tdb.h b/lib/dbwrap/dbwrap_tdb.h
index 93ee09c6057..d5f49c7d574 100644
--- a/lib/dbwrap/dbwrap_tdb.h
+++ b/lib/dbwrap/dbwrap_tdb.h
@@ -25,7 +25,6 @@
struct db_context;
struct db_context *db_open_tdb(TALLOC_CTX *mem_ctx,
- struct loadparm_context *lp_ctx,
const char *name,
int hash_size, int tdb_flags,
int open_flags, mode_t mode,
diff --git a/source4/ntvfs/posix/python/pyxattr_tdb.c b/source4/ntvfs/posix/python/pyxattr_tdb.c
index d3390a3d906..84ef426ead8 100644
--- a/source4/ntvfs/posix/python/pyxattr_tdb.c
+++ b/source4/ntvfs/posix/python/pyxattr_tdb.c
@@ -46,6 +46,7 @@ static PyObject *py_wrap_setxattr(PyObject *self, PyObject *args)
int blobsize;
int ret;
TALLOC_CTX *mem_ctx;
+ struct loadparm_context *lp_ctx;
struct db_context *eadb = NULL;
struct file_id id;
struct stat sbuf;
@@ -56,8 +57,11 @@ static PyObject *py_wrap_setxattr(PyObject *self, PyObject *args)
blob.length = blobsize;
mem_ctx = talloc_new(NULL);
- eadb = db_open_tdb(mem_ctx, py_default_loadparm_context(mem_ctx), tdbname, 50000,
- TDB_DEFAULT, O_RDWR|O_CREAT, 0600, DBWRAP_LOCK_ORDER_2,
+
+ lp_ctx = py_default_loadparm_context(mem_ctx);
+ eadb = db_open_tdb(mem_ctx, tdbname, 50000,
+ lpcfg_tdb_flags(lp_ctx, TDB_DEFAULT),
+ O_RDWR|O_CREAT, 0600, DBWRAP_LOCK_ORDER_2,
DBWRAP_FLAG_NONE);
if (eadb == NULL) {
@@ -91,6 +95,7 @@ static PyObject *py_wrap_getxattr(PyObject *self, PyObject *args)
{
char *filename, *attribute, *tdbname;
TALLOC_CTX *mem_ctx;
+ struct loadparm_context *lp_ctx;
DATA_BLOB blob;
PyObject *ret_obj;
int ret;
@@ -104,8 +109,10 @@ static PyObject *py_wrap_getxattr(PyObject *self, PyObject *args)
mem_ctx = talloc_new(NULL);
- eadb = db_open_tdb(mem_ctx, py_default_loadparm_context(mem_ctx), tdbname, 50000,
- TDB_DEFAULT, O_RDWR|O_CREAT, 0600, DBWRAP_LOCK_ORDER_2,
+ lp_ctx = py_default_loadparm_context(mem_ctx);
+ eadb = db_open_tdb(mem_ctx, tdbname, 50000,
+ lpcfg_tdb_flags(lp_ctx, TDB_DEFAULT),
+ O_RDWR|O_CREAT, 0600, DBWRAP_LOCK_ORDER_2,
DBWRAP_FLAG_NONE);
if (eadb == NULL) {