autofs: update ioctl documentation regarding struct autofs_dev_ioctl

This is the same as bf72eda5 except that it's a different file.  Sync
documentation with changes made by 730c9eec in 2009.

Link: http://lkml.kernel.org/r/148577165630.9801.6081791213151121657.stgit@pluto.themaw.net
Signed-off-by: Tomohiro Kusumi <tkusumi@tuxera.com>
Signed-off-by: Ian Kent <raven@themaw.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Tomohiro Kusumi 2017-02-27 14:27:08 -08:00 committed by Linus Torvalds
parent c5dd2ea064
commit 8848808094
2 changed files with 22 additions and 11 deletions

View File

@ -179,6 +179,7 @@ struct autofs_dev_ioctl {
* including this struct */ * including this struct */
__s32 ioctlfd; /* automount command fd */ __s32 ioctlfd; /* automount command fd */
/* Command parameters */
union { union {
struct args_protover protover; struct args_protover protover;
struct args_protosubver protosubver; struct args_protosubver protosubver;

View File

@ -425,8 +425,20 @@ Each ioctl is passed a pointer to an `autofs_dev_ioctl` structure:
* including this struct */ * including this struct */
__s32 ioctlfd; /* automount command fd */ __s32 ioctlfd; /* automount command fd */
__u32 arg1; /* Command parameters */ /* Command parameters */
__u32 arg2; union {
struct args_protover protover;
struct args_protosubver protosubver;
struct args_openmount openmount;
struct args_ready ready;
struct args_fail fail;
struct args_setpipefd setpipefd;
struct args_timeout timeout;
struct args_requester requester;
struct args_expire expire;
struct args_askumount askumount;
struct args_ismountpoint ismountpoint;
};
char path[0]; char path[0];
}; };
@ -446,24 +458,22 @@ Commands are:
set version numbers. set version numbers.
- **AUTOFS_DEV_IOCTL_OPENMOUNT_CMD**: return an open file descriptor - **AUTOFS_DEV_IOCTL_OPENMOUNT_CMD**: return an open file descriptor
on the root of an autofs filesystem. The filesystem is identified on the root of an autofs filesystem. The filesystem is identified
by name and device number, which is stored in `arg1`. Device by name and device number, which is stored in `openmount.devid`.
numbers for existing filesystems can be found in Device numbers for existing filesystems can be found in
`/proc/self/mountinfo`. `/proc/self/mountinfo`.
- **AUTOFS_DEV_IOCTL_CLOSEMOUNT_CMD**: same as `close(ioctlfd)`. - **AUTOFS_DEV_IOCTL_CLOSEMOUNT_CMD**: same as `close(ioctlfd)`.
- **AUTOFS_DEV_IOCTL_SETPIPEFD_CMD**: if the filesystem is in - **AUTOFS_DEV_IOCTL_SETPIPEFD_CMD**: if the filesystem is in
catatonic mode, this can provide the write end of a new pipe catatonic mode, this can provide the write end of a new pipe
in `arg1` to re-establish communication with a daemon. The in `setpipefd.pipefd` to re-establish communication with a daemon.
process group of the calling process is used to identify the The process group of the calling process is used to identify the
daemon. daemon.
- **AUTOFS_DEV_IOCTL_REQUESTER_CMD**: `path` should be a - **AUTOFS_DEV_IOCTL_REQUESTER_CMD**: `path` should be a
name within the filesystem that has been auto-mounted on. name within the filesystem that has been auto-mounted on.
On successful return, `arg1` and `arg2` will be the UID and GID On successful return, `requester.uid` and `requester.gid` will be
of the process which triggered that mount. the UID and GID of the process which triggered that mount.
- **AUTOFS_DEV_IOCTL_ISMOUNTPOINT_CMD**: Check if path is a - **AUTOFS_DEV_IOCTL_ISMOUNTPOINT_CMD**: Check if path is a
mountpoint of a particular type - see separate documentation for mountpoint of a particular type - see separate documentation for
details. details.
- **AUTOFS_DEV_IOCTL_PROTOVER_CMD**: - **AUTOFS_DEV_IOCTL_PROTOVER_CMD**:
- **AUTOFS_DEV_IOCTL_PROTOSUBVER_CMD**: - **AUTOFS_DEV_IOCTL_PROTOSUBVER_CMD**:
- **AUTOFS_DEV_IOCTL_READY_CMD**: - **AUTOFS_DEV_IOCTL_READY_CMD**:
@ -473,7 +483,7 @@ Commands are:
- **AUTOFS_DEV_IOCTL_EXPIRE_CMD**: - **AUTOFS_DEV_IOCTL_EXPIRE_CMD**:
- **AUTOFS_DEV_IOCTL_ASKUMOUNT_CMD**: These all have the same - **AUTOFS_DEV_IOCTL_ASKUMOUNT_CMD**: These all have the same
function as the similarly named **AUTOFS_IOC** ioctls, except function as the similarly named **AUTOFS_IOC** ioctls, except
that **FAIL** can be given an explicit error number in `arg1` that **FAIL** can be given an explicit error number in `fail.status`
instead of assuming `ENOENT`, and this **EXPIRE** command instead of assuming `ENOENT`, and this **EXPIRE** command
corresponds to **AUTOFS_IOC_EXPIRE_MULTI**. corresponds to **AUTOFS_IOC_EXPIRE_MULTI**.