[PATCH] Fix bogus fsync() error

Corinna Vinschen corinna-cygwin@cygwin.com
Tue Feb 1 17:08:00 GMT 2011


On Feb  1 10:48, Christopher Faylor wrote:
> On Tue, Feb 01, 2011 at 09:47:15AM +0100, Corinna Vinschen wrote:
> >On Jan 31 20:44, Christian Franke wrote:
> >> If used on raw devices like /dev/sda fsync() always fails with
> >> EBADRQC (54) because FlushFileBuffers() always fails with
> >> ERROR_INVALID_FUNCTION (1).
> >> 
> >> The attached patch fixes this by simply ignoring this error in the
> >> fhandler_base implementation. This should not affect any real flush
> >> errors which likely would return other error codes.
> >> 
> >> An alternative approach would be to ignore the error only in a new
> >> fhandler_raw_dev/floppy::fsync(). IMO not worth the effort is this
> >> case.
> >
> >I agree.  I applied the patch.
> 
> Shouldn't this patch be a little more robust and check that you're getting
> ERROR_INVALID_FUNCTION only for raw devices?

Filesystems should never return this error code, afaik.


Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader          cygwin AT cygwin DOT com
Red Hat



More information about the Cygwin-patches mailing list