Adam Kalnas
Adam Kalnas

Reputation: 1198

What does cifs_mount failed w/return code = -111 indicate?

Command:

sudo mount -t cifs //<server>/<share> -o username=user@domain,password=**** /mnt/<mountpoint>

error message:

Unable to find suitable address.

The syslog has:

CIFS VFS: Error connecting to socket. Aborting operation. CIFS VFS: cifs_mount failed w/return code = -111

When I check out the documentation for mount via man mount

I see the following information about the error codes:

   RETURN CODES
   mount has the following return codes (the bits can be ORed):

   0      success
   1      incorrect invocation or permissions
   2      system error (out of memory, cannot fork, no more loop devices)
   4      internal mount bug
   8      user interrupt
   16     problems writing or locking /etc/mtab
   32     mount failure
   64     some mount succeeded

So does -111 mean the same thing as 1? If so, how can you diagnose if it's permissions or the command isn't correct?

Upvotes: 11

Views: 51222

Answers (3)

Penghe Geng
Penghe Geng

Reputation: 14601

It means "Connection refused". To see a complete list of errors, check errno.h in the kernel source code. Partially listed here for your quick reference: (Note the minus sign will be added by the caller):

#define▸EL2HLT▸ ▸   51▸ /* Level 2 halted */
#define▸EBADE▸  ▸   52▸ /* Invalid exchange */
#define▸EBADR▸  ▸   53▸ /* Invalid request descriptor */
#define▸EXFULL▸ ▸   54▸ /* Exchange full */
#define▸ENOANO▸ ▸   55▸ /* No anode */
#define▸EBADRQC▸▸   56▸ /* Invalid request code */
#define▸EBADSLT▸▸   57▸ /* Invalid slot */

#define▸EDEADLOCK▸  EDEADLK

#define▸EBFONT▸ ▸   59▸ /* Bad font file format */
#define▸ENOSTR▸ ▸   60▸ /* Device not a stream */
#define▸ENODATA▸▸   61▸ /* No data available */
#define▸ETIME▸  ▸   62▸ /* Timer expired */
#define▸ENOSR▸  ▸   63▸ /* Out of streams resources */
#define▸ENONET▸ ▸   64▸ /* Machine is not on the network */
#define▸ENOPKG▸ ▸   65▸ /* Package not installed */
#define▸EREMOTE▸▸   66▸ /* Object is remote */
#define▸ENOLINK▸▸   67▸ /* Link has been severed */
#define▸EADV▸   ▸   68▸ /* Advertise error */
#define▸ESRMNT▸ ▸   69▸ /* Srmount error */
#define▸ECOMM▸  ▸   70▸ /* Communication error on send */
#define▸EPROTO▸ ▸   71▸ /* Protocol error */
#define▸EMULTIHOP▸  72▸ /* Multihop attempted */
#define▸EDOTDOT▸▸   73▸ /* RFS specific error */
#define▸EBADMSG▸▸   74▸ /* Not a data message */
#define▸EOVERFLOW▸  75▸ /* Value too large for defined data type */
#define▸ENOTUNIQ▸   76▸ /* Name not unique on network */
#define▸EBADFD▸ ▸   77▸ /* File descriptor in bad state */
#define▸EREMCHG▸▸   78▸ /* Remote address changed */
#define▸ELIBACC▸▸   79▸ /* Can not access a needed shared library */
#define▸ELIBBAD▸▸   80▸ /* Accessing a corrupted shared library */
#define▸ELIBSCN▸▸   81▸ /* .lib section in a.out corrupted */
#define▸ELIBMAX▸▸   82▸ /* Attempting to link in too many shared libraries */
#define▸ELIBEXEC▸   83▸ /* Cannot exec a shared library directly */
#define▸EILSEQ▸ ▸   84▸ /* Illegal byte sequence */
#define▸ERESTART▸   85▸ /* Interrupted system call should be restarted */
#define▸ESTRPIPE▸   86▸ /* Streams pipe error */
#define▸EUSERS▸ ▸   87▸ /* Too many users */
#define▸ENOTSOCK▸   88▸ /* Socket operation on non-socket */
#define▸EDESTADDRREQ▸   89▸ /* Destination address required */
#define▸EMSGSIZE▸   90▸ /* Message too long */
#define▸EPROTOTYPE▸ 91▸ /* Protocol wrong type for socket */
#define▸ENOPROTOOPT▸92▸ /* Protocol not available */
#define▸EPROTONOSUPPORT▸93▸ /* Protocol not supported */
#define▸ESOCKTNOSUPPORT▸94▸ /* Socket type not supported */
#define▸EOPNOTSUPP▸ 95▸ /* Operation not supported on transport endpoint */
#define▸EPFNOSUPPORT▸   96▸ /* Protocol family not supported */
#define▸EAFNOSUPPORT▸   97▸ /* Address family not supported by protocol */
#define▸EADDRINUSE▸ 98▸ /* Address already in use */
#define▸EADDRNOTAVAIL▸  99▸ /* Cannot assign requested address */
#define▸ENETDOWN▸   100▸/* Network is down */
#define▸ENETUNREACH▸101▸/* Network is unreachable */
#define▸ENETRESET▸  102▸/* Network dropped connection because of reset */
#define▸ECONNABORTED▸   103▸/* Software caused connection abort */
#define▸ECONNRESET▸ 104▸/* Connection reset by peer */
#define▸ENOBUFS▸▸   105▸/* No buffer space available */
#define▸EISCONN▸▸   106▸/* Transport endpoint is already connected */
#define▸ENOTCONN▸   107▸/* Transport endpoint is not connected */
#define▸ESHUTDOWN▸  108▸/* Cannot send after transport endpoint shutdown */
#define▸ETOOMANYREFS▸   109▸/* Too many references: cannot splice */
#define▸ETIMEDOUT▸  110▸/* Connection timed out */
#define▸ECONNREFUSED▸   111▸/* Connection refused */
#define▸EHOSTDOWN▸  112▸/* Host is down */
#define▸EHOSTUNREACH▸   113▸/* No route to host */
#define▸EALREADY▸   114▸/* Operation already in progress */
#define▸EINPROGRESS▸115▸/* Operation now in progress */
#define▸ESTALE▸ ▸   116▸/* Stale file handle */
#define▸EUCLEAN▸▸   117▸/* Structure needs cleaning */
#define▸ENOTNAM▸▸   118▸/* Not a XENIX named type file */
#define▸ENAVAIL▸▸   119▸/* No XENIX semaphores available */
#define▸EISNAM▸ ▸   120▸/* Is a named type file */
#define▸EREMOTEIO▸  121▸/* Remote I/O error */
#define▸EDQUOT▸ ▸   122▸/* Quota exceeded */

#define▸ENOMEDIUM▸  123▸/* No medium found */
#define▸EMEDIUMTYPE▸124▸/* Wrong medium type */
#define▸ECANCELED▸  125▸/* Operation Canceled */
#define▸ENOKEY▸ ▸   126▸/* Required key not available */
#define▸EKEYEXPIRED▸127▸/* Key has expired */
#define▸EKEYREVOKED▸128▸/* Key has been revoked */
#define▸EKEYREJECTED▸   129▸/* Key was rejected by service */

/* for robust mutexes */
#define▸EOWNERDEAD▸ 130▸/* Owner died */
#define▸ENOTRECOVERABLE▸131▸/* State not recoverable */

#define ERFKILL▸▸   132▸/* Operation not possible due to RF-kill */

#define EHWPOISON▸  133▸/* Memory page has hardware error */

Upvotes: 3

scharette
scharette

Reputation: 635

I recently started getting this error on Fedora 27.

Changing option vers=1.0 to vers=2.0 ( -o defaults,vers=2.0,rsize=...) solved the issue.

Upvotes: 1

Tankman六四
Tankman六四

Reputation: 1768

111 = 64+32+8+4+2+1

So it meant to tell you that you hit every error except 16.

On my Ubuntu 14.04, I had to add -o sec=ntlmv2 or it will always give me 111 error, but I don't need that option on my Ubuntu 15.04. Isn't it confusing?

Upvotes: 8

Related Questions