cbaba16b23
r285050 fixed a bug in pw that could lead to /etc/passwd or /etc/group corruption on power loss. However, it fixed it by opening those files with O_SYNC, which is very slow, especially on ZFS. This change replaces O_SYNC with appropriately placed fsync()s instead, which is much faster. Using a ZFS tmpdir, the time to run pw's kyua tests drops from 245s to 35s. Reviewed by: allanjude, bapt, vangyzen, garga Tested on pfSense by: garga MFC after: 4 weeks Sponsored by: Spectra Logic Corp Differential Revision: https://reviews.freebsd.org/D8319 |
||
---|---|---|
.. | ||
tests | ||
_secure_path.3 | ||
_secure_path.c | ||
auth.c | ||
expand_number.3 | ||
expand_number.c | ||
flopen.3 | ||
flopen.c | ||
fparseln.3 | ||
fparseln.c | ||
gr_util.c | ||
hexdump.3 | ||
hexdump.c | ||
humanize_number.3 | ||
humanize_number.c | ||
kinfo_getallproc.3 | ||
kinfo_getallproc.c | ||
kinfo_getfile.3 | ||
kinfo_getfile.c | ||
kinfo_getproc.3 | ||
kinfo_getproc.c | ||
kinfo_getvmmap.3 | ||
kinfo_getvmmap.c | ||
kinfo_getvmobject.3 | ||
kinfo_getvmobject.c | ||
kld.3 | ||
kld.c | ||
libutil.h | ||
login_auth.3 | ||
login_auth.c | ||
login_cap.3 | ||
login_cap.c | ||
login_cap.h | ||
login_class.3 | ||
login_class.c | ||
login_crypt.c | ||
login_ok.3 | ||
login_ok.c | ||
login_times.3 | ||
login_times.c | ||
login_tty.3 | ||
login_tty.c | ||
login.conf.5 | ||
Makefile | ||
Makefile.depend | ||
pidfile.3 | ||
pidfile.c | ||
property.3 | ||
property.c | ||
pty.3 | ||
pty.c | ||
pw_util.3 | ||
pw_util.c | ||
quotafile.3 | ||
quotafile.c | ||
realhostname_sa.3 | ||
realhostname.3 | ||
realhostname.c | ||
stub.c | ||
trimdomain.3 | ||
trimdomain.c | ||
uucplock.3 | ||
uucplock.c |