diff options
author | Volker Lendecke <vl@samba.org> | 2012-11-20 10:02:07 +0100 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2012-11-28 03:13:56 +0100 |
commit | 00e2d83fa4f1e9a336c2030a3f07066caee85083 (patch) | |
tree | da40fe6a5b159b1b787e1839ba1830bead813563 | |
parent | ee5db0efa517fcf119d0318376030c01fb8f2f38 (diff) | |
download | samba-00e2d83fa4f1e9a336c2030a3f07066caee85083.tar.gz samba-00e2d83fa4f1e9a336c2030a3f07066caee85083.tar.bz2 samba-00e2d83fa4f1e9a336c2030a3f07066caee85083.zip |
s3: Open gencache_notrans with TDB_NOSYNC
We are doing CLEAR_IF_FIRST here, and we are doing the transactions only to
protect gencache_stabilize against concurrent writers. tdb's transaction.c
says:
- if TDB_NOSYNC is passed to flags in tdb_open then transactions are
still available, but no fsync/msync calls are made. This means we
are still proof against a process dying during transaction commit,
but not against machine reboot.
For gencache_notrans.tdb this is exactly what we want and avoids some expensive
disk syncs.
Reviewed by: Jeremy Allison <jra@samba.org>
Autobuild-User(master): Jeremy Allison <jra@samba.org>
Autobuild-Date(master): Wed Nov 28 03:13:56 CET 2012 on sn-devel-104
-rw-r--r-- | source3/lib/gencache.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/source3/lib/gencache.c b/source3/lib/gencache.c index a64677d2bf..0b24c0c1e7 100644 --- a/source3/lib/gencache.c +++ b/source3/lib/gencache.c @@ -106,7 +106,10 @@ again: DEBUG(5, ("Opening cache file at %s\n", cache_fname)); - cache_notrans = tdb_open_log(cache_fname, 0, TDB_CLEAR_IF_FIRST|TDB_INCOMPATIBLE_HASH, + cache_notrans = tdb_open_log(cache_fname, 0, + TDB_CLEAR_IF_FIRST| + TDB_INCOMPATIBLE_HASH| + TDB_NOSYNC, open_flags, 0644); if (cache_notrans == NULL) { DEBUG(5, ("Opening %s failed: %s\n", cache_fname, |