Skip to content

Commit

Permalink
Merge branch 'js/mingw-isilon-nfs'
Browse files Browse the repository at this point in the history
* js/mingw-isilon-nfs:
  mingw: cope with the Isilon network file system
  • Loading branch information
gitster committed Apr 22, 2020
2 parents 33feaca + 23eafd9 commit a41b41c
Showing 1 changed file with 15 additions and 2 deletions.
17 changes: 15 additions & 2 deletions compat/mingw.c
Expand Up @@ -460,8 +460,21 @@ static int mingw_open_append(wchar_t const *wfilename, int oflags, ...)
handle = CreateFileW(wfilename, FILE_APPEND_DATA,
FILE_SHARE_WRITE | FILE_SHARE_READ,
NULL, create, FILE_ATTRIBUTE_NORMAL, NULL);
if (handle == INVALID_HANDLE_VALUE)
return errno = err_win_to_posix(GetLastError()), -1;
if (handle == INVALID_HANDLE_VALUE) {
DWORD err = GetLastError();

/*
* Some network storage solutions (e.g. Isilon) might return
* ERROR_INVALID_PARAMETER instead of expected error
* ERROR_PATH_NOT_FOUND, which results in an unknown error. If
* so, let's turn the error to ERROR_PATH_NOT_FOUND instead.
*/
if (err == ERROR_INVALID_PARAMETER)
err = ERROR_PATH_NOT_FOUND;

errno = err_win_to_posix(err);
return -1;
}

/*
* No O_APPEND here, because the CRT uses it only to reset the
Expand Down

0 comments on commit a41b41c

Please sign in to comment.