diff options
| author | Jacob McDonnell <jacob@jacobmcdonnell.com> | 2026-04-25 19:55:15 -0400 |
|---|---|---|
| committer | Jacob McDonnell <jacob@jacobmcdonnell.com> | 2026-04-25 19:55:15 -0400 |
| commit | 253e67c8b3a72b3a4757fdbc5845297628db0a4a (patch) | |
| tree | adf53b66087aa30dfbf8bf391a1dadb044c3bf4d /static/netbsd/man2/sync.2 | |
| parent | a9157ce950dfe2fc30795d43b9d79b9d1bffc48b (diff) | |
docs: Added All NetBSD Manuals
Diffstat (limited to 'static/netbsd/man2/sync.2')
| -rw-r--r-- | static/netbsd/man2/sync.2 | 102 |
1 files changed, 102 insertions, 0 deletions
diff --git a/static/netbsd/man2/sync.2 b/static/netbsd/man2/sync.2 new file mode 100644 index 00000000..66267015 --- /dev/null +++ b/static/netbsd/man2/sync.2 @@ -0,0 +1,102 @@ +.\" $NetBSD: sync.2,v 1.18 2017/05/14 12:30:37 wiz Exp $ +.\" +.\" Copyright (c) 1980, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)sync.2 8.1 (Berkeley) 6/4/93 +.\" +.Dd March 25, 2009 +.Dt SYNC 2 +.Os +.Sh NAME +.Nm sync +.Nd "synchronize disk block in-core status with that on disk" +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In unistd.h +.Ft void +.Fn sync void +.Sh DESCRIPTION +The +.Fn sync +function forces a write of dirty (modified) buffers +in the block buffer cache out +to disk. +The kernel keeps this information in core to reduce +the number of disk I/O transfers required by the system. +As information in the cache is lost after a system crash, +kernel thread +.Nm ioflush +ensures that dirty buffers are synced to disk +eventually. +By default, a dirty buffer is synced after 30 seconds, +but some file systems exploit +.Nm ioflush +features to sync directory data and metadata faster +(after 15 and 10 seconds, respectively). +.Pp +The function +.Xr fsync 2 +may be used to synchronize individual file descriptor +attributes. +.Sh CAUTIONS +Many modern disks contain write-back caches. +In theory +.Fn sync +flushes these. +In practice there are many possible ways for this mechanism to go +astray. +It is prudent (where possible) to allow a few seconds after syncing +for everything to settle before e.g. turning off the power. +.Pp +It may also be desirable to use +.Xr dkctl 8 +or +.Xr scsictl 8 +to disable the write-back cache entirely. +.Sh SEE ALSO +.Xr fsync 2 , +.Xr dkctl 8 , +.Xr scsictl 8 , +.Xr sync 8 +.Sh HISTORY +A +.Fn sync +function call appeared in +.At v6 . +.Pp +Historically, +.Fn sync +would schedule buffers for writing but not actually wait for the +writes to finish. +It was necessary to issue a second or sometimes a third call to ensure +that all buffers had in fact been written out. +In +.Nx , +.Fn sync +does not return until all buffers have been written. |
