The
mkdir()
system call
will fail and no directory will be created if:
[ENOTDIR]
|
|
A component of the path prefix is not a directory.
|
[ENAMETOOLONG]
|
|
A component of a pathname exceeded 255 characters,
or an entire path name exceeded 1023 characters.
|
[ENOENT]
|
|
A component of the path prefix does not exist.
|
[EACCES]
|
|
Search permission is denied for a component of the path prefix,
or write permission is denied
on the parent directory of the directory to be created.
|
[ELOOP]
|
|
Too many symbolic links were encountered in translating the pathname.
|
[EPERM]
|
|
The parent directory of the directory to be created has its immutable flag set,
see the
chflags(2)
manual page for more information.
|
[EROFS]
|
|
The named directory would reside on a read-only file system.
|
[EMLINK]
|
|
The new directory cannot be created because the parent directory contains
too many subdirectories.
|
[EEXIST]
|
|
The named file exists.
|
[ENOSPC]
|
|
The new directory cannot be created because there is no space left
on the file system that will contain the directory.
|
[ENOSPC]
|
|
There are no free inodes on the file system on which the
directory is being created.
|
[EDQUOT]
|
|
The new directory cannot be created because the user's
quota of disk blocks on the file system that will
contain the directory has been exhausted.
|
[EDQUOT]
|
|
The user's quota of inodes on the file system on
which the directory is being created has been exhausted.
|
[EIO]
|
An I/O error occurred while making the directory entry or allocating the inode.
|
[EIO]
|
An I/O error occurred while reading from or writing to the file system.
|
[EINTEGRITY]
|
|
Corrupted data was detected while reading from the file system.
|
[EFAULT]
|
|
The
path
argument
points outside the process's allocated address space.
|
In addition to the errors returned by the
mkdir(),
the
mkdirat()
may fail if:
[EBADF]
|
|
The
path
argument does not specify an absolute path and the
fd
argument is neither
AT_FDCWD
nor a valid file descriptor open for searching.
|
[ENOTDIR]
|
|
The
path
argument is not an absolute path and
fd
is neither
AT_FDCWD
nor a file descriptor associated with a directory.
|