On Fri, 29 Mar 2013, chas williams - CONTRACTOR wrote:
On Thu, 28 Mar 2013 13:47:18 -0400
Garrett Wollman <[email protected]> wrote:
I don't think that even with _POSIX_SYNCHRONIZED_IO the requirements
are tight enough to be truly useful -- just in the past week there has
been a discussion in the Austin Group about whether the Standard
actually requires that fsync() on a newly-created file actually ensure
that the directory entries for that file be committed to storage.
I doesn't really matter what you think it should be, Linux doesn't do
that. From the fsync() man page:
The whole world is not linux...
Calling fsync() does not necessarily ensure that the entry in the
directory containing the file has also reached disk. For that
an explicit fsync() on a file descriptor for the directory is also
needed.
The FreeBSD kernel fsync() implementation does not explicitly sync the
directory containing the file, either.
So, I think that is mildly interesting when you think about the namei
fileserver's operation. I don't think it ever sync's the underlying
filesystem's parent directory for the vnode's (vnode's being either a
file or directory). It seems like this might be a problem for vnode
creation and deletion.
And yet things usually work, because of pdflush/syncer thread/etc.
-Ben
_______________________________________________
OpenAFS-devel mailing list
[email protected]
https://lists.openafs.org/mailman/listinfo/openafs-devel