>So what do we do when we halt or reboot ?

We unmount the file system.  dounmount() calls VFS_SYNC() with the
MNT_WAIT flag, and then (for ffs) ffs_unmount() calls ffs_flushfiles()
or softdep_flushfiles().  I'm not sure why the latter is necessary.

I don't understand this problem.  sync() intentionally calls
VFS_SYNC() with the MNT_NOWAIT flag to stop it from waiting for
i/o to complete.  It's just an implementation quirk that i/o is
more likely to have completed when sync() returns for the non-
softdep case.

Bruce


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to