Author: dwmalone
Date: Tue Feb 23 15:28:13 2016
New Revision: 295925
URL: https://svnweb.freebsd.org/changeset/base/295925

Log:
  Following revision r295924, the changes to a db file should be fsynced
  before the file is closed. Consequently, it shouldn't be necessary to
  open the file with O_SYNC any more.
  
  This improves the performance of building large .db files for large
  password files a lot and should resolve this problem:
  
        
https://forums.freebsd.org/threads/10-2-pre-pwd_mkdb-slow-on-larger-master-passwd.52700/
  
  Differential Revision:        https://reviews.freebsd.org/D5186
  Reviewed by:  garga, vangyzen, bapt, se
  MFC after:    1 week

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

Modified: head/usr.sbin/pwd_mkdb/pwd_mkdb.c
==============================================================================
--- head/usr.sbin/pwd_mkdb/pwd_mkdb.c   Tue Feb 23 15:21:13 2016        
(r295924)
+++ head/usr.sbin/pwd_mkdb/pwd_mkdb.c   Tue Feb 23 15:28:13 2016        
(r295925)
@@ -228,14 +228,14 @@ main(int argc, char *argv[])
                clean = FILE_INSECURE;
                cp(buf2, buf, PERM_INSECURE);
                dp = dbopen(buf,
-                   O_RDWR|O_EXCL|O_SYNC, PERM_INSECURE, DB_HASH, &openinfo);
+                   O_RDWR|O_EXCL, PERM_INSECURE, DB_HASH, &openinfo);
                if (dp == NULL)
                        error(buf);
 
                clean = FILE_SECURE;
                cp(sbuf2, sbuf, PERM_SECURE);
                sdp = dbopen(sbuf,
-                   O_RDWR|O_EXCL|O_SYNC, PERM_SECURE, DB_HASH, &openinfo);
+                   O_RDWR|O_EXCL, PERM_SECURE, DB_HASH, &openinfo);
                if (sdp == NULL)
                        error(sbuf);
 
@@ -292,13 +292,13 @@ main(int argc, char *argv[])
                method = 0;
        } else {
                dp = dbopen(buf,
-                   O_RDWR|O_CREAT|O_EXCL|O_SYNC, PERM_INSECURE, DB_HASH, 
&openinfo);
+                   O_RDWR|O_CREAT|O_EXCL, PERM_INSECURE, DB_HASH, &openinfo);
                if (dp == NULL)
                        error(buf);
                clean = FILE_INSECURE;
 
                sdp = dbopen(sbuf,
-                   O_RDWR|O_CREAT|O_EXCL|O_SYNC, PERM_SECURE, DB_HASH, 
&openinfo);
+                   O_RDWR|O_CREAT|O_EXCL, PERM_SECURE, DB_HASH, &openinfo);
                if (sdp == NULL)
                        error(sbuf);
                clean = FILE_SECURE;
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to