From: Jason Riedy Date: Thu, 02 Feb 2006 00:39:22 GMT Subject: [RFC & PATCH] Solaris 8: ENOSYS when mkdir applied to automount. Message-ID: <24768.1138840762@lotus.CS.Berkeley.EDU> I guess our home directories recently were changed from symlinks to autmounts. Solaris 8's mkdir(2) returns ENOSYS when applied to these, breaking safe_create_leading_directories. I don't know if ENOSYS is available everywhere, or if this odd behavior is appropriate everywhere. This works for me, but should I wrap mkdir for bizarre behavior by adding a compat/gitmkdir.c? Signed-off-by: Jason Riedy --- sha1_file.c | 8 ++++++++ 1 files changed, 8 insertions(+), 0 deletions(-) 4f388cf48271ec1547817a407ef1afe432cd59d4 diff --git a/sha1_file.c b/sha1_file.c index 20f6419..65407e2 100644 --- a/sha1_file.c +++ b/sha1_file.c @@ -83,7 +83,15 @@ int safe_create_leading_directories(char break; *pos = 0; if (mkdir(path, 0777) < 0) { +#if !defined(ENOSYS) if (errno != EEXIST) { +#else + if (errno != EEXIST && errno != ENOSYS) { +#endif +/* + * Solaris 8 appears to return ENOSYS when mkdir is applied + * to an automount. + */ *pos = '/'; return -1; } -- 1.1.6.g7159