From: Ralph Boehme Date: Sat, 18 Nov 2017 14:50:53 +0000 (+0100) Subject: s3/locking: add support for opening locking.tdb with DBWRAP_FLAG_PER_REC_PERSISTENT X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=023f9722aac9263c22458cd870d27654c1be9dfd;p=thirdparty%2Fsamba.git s3/locking: add support for opening locking.tdb with DBWRAP_FLAG_PER_REC_PERSISTENT Signed-off-by: Ralph Boehme Reviewed-by: Anoop C S --- diff --git a/source3/locking/share_mode_lock.c b/source3/locking/share_mode_lock.c index 90fc4baaa7c..7047fdf97bf 100644 --- a/source3/locking/share_mode_lock.c +++ b/source3/locking/share_mode_lock.c @@ -114,6 +114,7 @@ static bool locking_init_internal(bool read_only) { struct db_context *backend; char *db_path; + uint64_t dbwrap_flags = DBWRAP_FLAG_NONE; brl_init(read_only); @@ -126,13 +127,17 @@ static bool locking_init_internal(bool read_only) return false; } + if (lp_persistent_handles()) { + dbwrap_flags |= DBWRAP_FLAG_PER_REC_PERSISTENT; + } + backend = db_open(NULL, db_path, SMBD_VOLATILE_TDB_HASH_SIZE, SMBD_VOLATILE_TDB_FLAGS | TDB_SEQNUM, read_only?O_RDONLY:O_RDWR|O_CREAT, 0640, DBWRAP_LOCK_ORDER_NONE, - DBWRAP_FLAG_NONE); + dbwrap_flags); TALLOC_FREE(db_path); if (!backend) { DEBUG(0,("ERROR: Failed to initialise locking database\n"));