Roland McGrath <[EMAIL PROTECTED]> writes: > Actually it's not fully backward compatible. As I was just reminded, the > libc `sync' function, which is what the fileutils sync uses (sync is in > fileutils, not sh-utils), is backward-compatible and thus not synchronous > (it passes a zero wait flag in file_syncfs).
Hmm. Hurd sync should use the libc sync function too; it should not set the wait flag. If it does, that's a bug. The default should be nowait, with an option (--synchronous comes to mind) to request synchronous sync. I'd rather GNU be a nice system, than try and separate out naturally joined functionality. sync, on GNU, should be responsible for sync, in all its various flavors. On linux only one kind of sync is possible, but that's not important to us; fileutils sync is GNU sync, not just Unix sync, and we should not hesitate to have it do better and more clever stuff on the Hurd. I think having a more generic syncfs libc function as you describe is a good idea; then fileutils could use that in a suitably generic fashion. Thomas

