diff options
-rw-r--r-- | lib/dbwrap/dbwrap_local_open.c | 9 | ||||
-rw-r--r-- | lib/dbwrap/dbwrap_tdb.c | 8 | ||||
-rw-r--r-- | lib/dbwrap/dbwrap_tdb.h | 1 | ||||
-rw-r--r-- | source4/ntvfs/posix/python/pyxattr_tdb.c | 15 |
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) { |