mirror of
https://github.com/samba-team/samba.git
synced 2025-02-04 17:47:26 +03:00
tdb_compat: honour hashsize arg when using tdb2 with TDB_VERSION1 flag.
We use the TDB_ATTRIBUTE_TDB1_HASHSIZE to set the hash size. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
This commit is contained in:
parent
10e6a32820
commit
f08b323a88
@ -85,7 +85,7 @@ static enum TDB_ERROR clear_if_first(int fd, void *unused)
|
|||||||
}
|
}
|
||||||
|
|
||||||
struct tdb_context *
|
struct tdb_context *
|
||||||
tdb_open_compat_(const char *name, int hash_size_unused,
|
tdb_open_compat_(const char *name, int hash_size,
|
||||||
int tdb_flags, int open_flags, mode_t mode,
|
int tdb_flags, int open_flags, mode_t mode,
|
||||||
void (*log_fn)(struct tdb_context *,
|
void (*log_fn)(struct tdb_context *,
|
||||||
enum tdb_log_level,
|
enum tdb_log_level,
|
||||||
@ -94,7 +94,7 @@ tdb_open_compat_(const char *name, int hash_size_unused,
|
|||||||
void *data),
|
void *data),
|
||||||
void *log_data)
|
void *log_data)
|
||||||
{
|
{
|
||||||
union tdb_attribute cif, log, hash, max_dead, *attr = NULL;
|
union tdb_attribute cif, log, hash, max_dead, hsize, *attr = NULL;
|
||||||
|
|
||||||
if (log_fn) {
|
if (log_fn) {
|
||||||
log.log.base.attr = TDB_ATTRIBUTE_LOG;
|
log.log.base.attr = TDB_ATTRIBUTE_LOG;
|
||||||
@ -132,6 +132,13 @@ tdb_open_compat_(const char *name, int hash_size_unused,
|
|||||||
tdb_flags &= ~TDB_VOLATILE;
|
tdb_flags &= ~TDB_VOLATILE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (hash_size && (tdb_flags & TDB_VERSION1)) {
|
||||||
|
hsize.base.attr = TDB_ATTRIBUTE_TDB1_HASHSIZE;
|
||||||
|
hsize.base.next = attr;
|
||||||
|
hsize.tdb1_hashsize.hsize = hash_size;
|
||||||
|
attr = &hsize;
|
||||||
|
}
|
||||||
|
|
||||||
/* Testsuite uses this to speed things up. */
|
/* Testsuite uses this to speed things up. */
|
||||||
if (getenv("TDB_NO_FSYNC")) {
|
if (getenv("TDB_NO_FSYNC")) {
|
||||||
tdb_flags |= TDB_NOSYNC;
|
tdb_flags |= TDB_NOSYNC;
|
||||||
|
@ -100,7 +100,7 @@ enum TDB_ERROR tdb_transaction_start_nonblock(struct tdb_context *tdb);
|
|||||||
(log_data))
|
(log_data))
|
||||||
|
|
||||||
struct tdb_context *
|
struct tdb_context *
|
||||||
tdb_open_compat_(const char *name, int hash_size_unused,
|
tdb_open_compat_(const char *name, int hash_size,
|
||||||
int tdb_flags, int open_flags, mode_t mode,
|
int tdb_flags, int open_flags, mode_t mode,
|
||||||
void (*log_fn)(struct tdb_context *,
|
void (*log_fn)(struct tdb_context *,
|
||||||
enum tdb_log_level,
|
enum tdb_log_level,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user