summaryrefslogtreecommitdiffstats
path: root/usr.bin
diff options
context:
space:
mode:
authorse <se@FreeBSD.org>2016-02-19 08:42:13 +0000
committerse <se@FreeBSD.org>2016-02-19 08:42:13 +0000
commit2f3384530caf42a4c2bc7069ddf8dcd9ae64ffcc (patch)
tree8a903f27530f7592b01170a1f1f332cb6093b111 /usr.bin
parent877b2a020a9b9c54ed1fa37669ffa8e387b8f1e8 (diff)
downloadFreeBSD-src-2f3384530caf42a4c2bc7069ddf8dcd9ae64ffcc.zip
FreeBSD-src-2f3384530caf42a4c2bc7069ddf8dcd9ae64ffcc.tar.gz
Remove O_SYNC from the options passed to dbmopen().
The output file is created as a temporary file that is moved over the existing file after completion. Thus there is no need to immediately flush all created db records to the temporary file. This speeds up creation of the termcap db by a factor of 40 on my ZFS based /etc filesytem (from 25 seconds to 0.6 seconds). I have compared multiple output files created with and without O_SYNC and they came out identical each time. Nonetheless it might be best to MFC this change and the similar one for services_mkdb (r295465) at the same time when the changes to hash.c in review D5186 are merged. MFC: 1 week
Diffstat (limited to 'usr.bin')
-rw-r--r--usr.bin/cap_mkdb/cap_mkdb.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/usr.bin/cap_mkdb/cap_mkdb.c b/usr.bin/cap_mkdb/cap_mkdb.c
index bbcedd5..2f8bd96 100644
--- a/usr.bin/cap_mkdb/cap_mkdb.c
+++ b/usr.bin/cap_mkdb/cap_mkdb.c
@@ -119,7 +119,7 @@ main(int argc, char *argv[])
(void)snprintf(buf, sizeof(buf), "%s.db", capname ? capname : *argv);
if ((capname = strdup(buf)) == NULL)
errx(1, "strdup failed");
- if ((capdbp = dbopen(capname, O_CREAT | O_TRUNC | O_RDWR | O_SYNC,
+ if ((capdbp = dbopen(capname, O_CREAT | O_TRUNC | O_RDWR,
DEFFILEMODE, DB_HASH, &openinfo)) == NULL)
err(1, "%s", buf);
OpenPOWER on IntegriCloud