> You are blurring the boundaries between "undocumented behavior" and
> "OS-specific behavior". fsync() on a directory to sync metadata is a
> defined (according to my copy of fsync(2)), Linux-specific behavior.
> It is also very reasonable IMHO and in keeping with the traditional
> Unix notion of directories as lists of files.
No-one claims that fsync() the directory is a bad interface - it's
non-portable however. Actually, chattr +S is well-documented - it just
doesn't work on ReiserFS or Minix for now, and it may be unnecessarily
slow on ext2.
As pointed out more than once, "synchronous meta data" is documented e.
g. for FreeBSD, so in at least these two cases, the box relies on
documented behaviour.
> http://www.google.com/search?q=autoconf
>
> Writing portable Unix software has always meant some degree
> of system-specific accomodation. It's a bummer but it's life;
> otherwise Unix wouldn't evolve.
How can autoconf figure if you need to fsync() the directory? Apart from
that, which Unix MTA uses autoconf?
Remember, the whole discussion is about getting rid of the need for
chattr +S and offering the admin the chance to mount or flag a directory
for synchronous meta data updates.
-- Matthias Andree - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/