Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 10 Feb 2016 09:40:45 +0000 (UTC)
From:      Stefan Esser <se@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r295465 - head/usr.sbin/services_mkdb
Message-ID:  <201602100940.u1A9ejb6086175@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: se
Date: Wed Feb 10 09:40:45 2016
New Revision: 295465
URL: https://svnweb.freebsd.org/changeset/base/295465

Log:
  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

Modified:
  head/usr.sbin/services_mkdb/services_mkdb.c

Modified: head/usr.sbin/services_mkdb/services_mkdb.c
==============================================================================
--- head/usr.sbin/services_mkdb/services_mkdb.c	Wed Feb 10 09:19:29 2016	(r295464)
+++ head/usr.sbin/services_mkdb/services_mkdb.c	Wed Feb 10 09:40:45 2016	(r295465)
@@ -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);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201602100940.u1A9ejb6086175>