On 27/08/2019 20:27, Al Viro wrote: <> > If you want to express something like "data packet formed; now you can commit > it and tell me if there'd been any errors", use something explicit. close() > simply isn't suitable for that. writev() for datagram-like semantics might > be; fsync() or fdatasync() could serve for "commit now". > Yes! I change my mind you are right. close() should stay with void semantics. I always thought the IO error reporting on close was a bad POSIX decision and fsync should be the final resting bed, and if you do not call fsync then you don't care about the error. Sigh, looks like the error was for ever ignored from day one. Maybe the Kernel guys felt the errors were important. But application users of configfs, did any actually care and check? Is there really a regression here? maybe the current imp needs to just be documented. (Or the more blasphemous, change the ABI and force people to call fsync or something) I feel the frustration too Boaz