aboutsummaryrefslogtreecommitdiff
path: root/usr.sbin/services_mkdb
diff options
context:
space:
mode:
authorStefan Eßer <se@FreeBSD.org>2016-02-10 09:40:45 +0000
committerStefan Eßer <se@FreeBSD.org>2016-02-10 09:40:45 +0000
commitfde0af719b0102d03ca7af7c5df3ce0ced7a5db7 (patch)
treebbb1a2352d9805c14d1de0c1db320881752c078c /usr.sbin/services_mkdb
parent907fe11655521170cc0a0e46b69dfe359795bbf0 (diff)
downloadsrc-fde0af719b0102d03ca7af7c5df3ce0ced7a5db7.tar.gz
src-fde0af719b0102d03ca7af7c5df3ce0ced7a5db7.zip
Remove O_SYNC from the options passed to dbmopen().
The services db 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 services db by a factor of 500 on my ZFS based /var/db filesytem (from 110 seconds to 0.235 seconds). MFC after: 1 week
Notes
Notes: svn path=/head/; revision=295465
Diffstat (limited to 'usr.sbin/services_mkdb')
-rw-r--r--usr.sbin/services_mkdb/services_mkdb.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/usr.sbin/services_mkdb/services_mkdb.c b/usr.sbin/services_mkdb/services_mkdb.c
index 9ea66deed689..c928ea995837 100644
--- a/usr.sbin/services_mkdb/services_mkdb.c
+++ b/usr.sbin/services_mkdb/services_mkdb.c
@@ -141,7 +141,7 @@ main(int argc, char *argv[])
err(1, "Cannot install exit handler");
(void)snprintf(tname, sizeof(tname), "%s.tmp", dbname);
- db = dbopen(tname, O_RDWR | O_CREAT | O_EXCL | O_SYNC,
+ db = dbopen(tname, O_RDWR | O_CREAT | O_EXCL,
(S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH), DB_HASH, &hinfo);
if (!db)
err(1, "Error opening temporary database `%s'", tname);