diff options
author | Stefan Eßer <se@FreeBSD.org> | 2016-02-10 09:40:45 +0000 |
---|---|---|
committer | Stefan Eßer <se@FreeBSD.org> | 2016-02-10 09:40:45 +0000 |
commit | fde0af719b0102d03ca7af7c5df3ce0ced7a5db7 (patch) | |
tree | bbb1a2352d9805c14d1de0c1db320881752c078c /usr.sbin/services_mkdb | |
parent | 907fe11655521170cc0a0e46b69dfe359795bbf0 (diff) | |
download | src-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.c | 2 |
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); |