http://bugs.winehq.org/show_bug.cgi?id=36745
--- Comment #6 from François Gouget fgouget@codeweavers.com --- I have sent a patch to handle ENOTSUP as you suggested in set_unix_lock(). I have also run the ole32:storage32 and kernel32:file tests and noticed get_lock_error() did not handle STG_E_LOCKVIOLATION and that neither did the upper levels. So I changed that and now the tests pass fine on both FreeBSD and Linux (well, on FreeBSD ole32:storage32 gets the same 7 unrelated failures as before).
* wineserver: Treat ENOTSUP the same way as ENOLCK, consider locking to be non-functional on that filesystem. http://www.winehq.org/pipermail/wine-patches/2014-June/133102.html
* [1/2] ole32: Treat STG_E_LOCKVIOLATION the same way as STG_E_ACCESSDENIED as both indicate locking contention. http://www.winehq.org/pipermail/wine-patches/2014-June/133103.html
* [2/2] ole32: Return the correct error in FileLockBytesImpl_*LockRegion*(). http://www.winehq.org/pipermail/wine-patches/2014-June/133104.html