:According to kirk FSYNC() does the right thing and 'sync()' doesn't.

    Lets see... well, it will sync the file state, but it will not
    necessarily sync the related directory entry (as far as I can tell).

    So if you take a case such as sendmail creating a queue file, fsync
    will succeed and the file itself will be consistent, but the directory
    entry for the file may not yet have been created and synced.  A crash
    at that point would result in a missing file.

    Kirk would know for sure.


    At some point we need to extend the kernel VOP_FSYNC API to include
    a file offset/range so NFS can conditionally fsync part of a file and
    know for sure that it's data and metadata have gone to the platter.
    And its directory entry as well in the case of a newly created file.

                                        Matthew Dillon 
                                        <[EMAIL PROTECTED]>

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

Reply via email to