Commit bf72eda5 authored by Tomohiro Kusumi's avatar Tomohiro Kusumi Committed by Linus Torvalds

autofs: update struct autofs_dev_ioctl in Documentation

Sync with changes made by commit 730c9eec ("autofs4: improve
parameter usage") which introduced an union for various ioctl commands
instead of having statically named arg1,2.

This commit simply replaces arg1,2 with the corresponding fields without
changing semantics.

Link: http://lkml.kernel.org/r/20160812024831.12352.24667.stgit@pluto.themaw.netSigned-off-by: default avatarTomohiro Kusumi <kusumi.tomohiro@gmail.com>
Signed-off-by: default avatarIan Kent <ikent@redhat.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent d8732841
...@@ -179,8 +179,19 @@ struct autofs_dev_ioctl { ...@@ -179,8 +179,19 @@ struct autofs_dev_ioctl {
* including this struct */ * including this struct */
__s32 ioctlfd; /* automount command fd */ __s32 ioctlfd; /* automount command fd */
__u32 arg1; /* Command parameters */ union {
__u32 arg2; 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];
}; };
...@@ -192,8 +203,8 @@ optionally be used to check a specific mount corresponding to a given ...@@ -192,8 +203,8 @@ optionally be used to check a specific mount corresponding to a given
mount point file descriptor, and when requesting the uid and gid of the mount point file descriptor, and when requesting the uid and gid of the
last successful mount on a directory within the autofs file system. last successful mount on a directory within the autofs file system.
The fields arg1 and arg2 are used to communicate parameters and results of The union is used to communicate parameters and results of calls made
calls made as described below. as described below.
The path field is used to pass a path where it is needed and the size field The path field is used to pass a path where it is needed and the size field
is used account for the increased structure length when translating the is used account for the increased structure length when translating the
...@@ -245,9 +256,9 @@ AUTOFS_DEV_IOCTL_PROTOVER_CMD and AUTOFS_DEV_IOCTL_PROTOSUBVER_CMD ...@@ -245,9 +256,9 @@ AUTOFS_DEV_IOCTL_PROTOVER_CMD and AUTOFS_DEV_IOCTL_PROTOSUBVER_CMD
Get the major and minor version of the autofs4 protocol version understood Get the major and minor version of the autofs4 protocol version understood
by loaded module. This call requires an initialized struct autofs_dev_ioctl by loaded module. This call requires an initialized struct autofs_dev_ioctl
with the ioctlfd field set to a valid autofs mount point descriptor with the ioctlfd field set to a valid autofs mount point descriptor
and sets the requested version number in structure field arg1. These and sets the requested version number in version field of struct args_protover
commands return 0 on success or one of the negative error codes if or sub_version field of struct args_protosubver. These commands return
validation fails. 0 on success or one of the negative error codes if validation fails.
AUTOFS_DEV_IOCTL_OPENMOUNT and AUTOFS_DEV_IOCTL_CLOSEMOUNT AUTOFS_DEV_IOCTL_OPENMOUNT and AUTOFS_DEV_IOCTL_CLOSEMOUNT
...@@ -256,9 +267,9 @@ AUTOFS_DEV_IOCTL_OPENMOUNT and AUTOFS_DEV_IOCTL_CLOSEMOUNT ...@@ -256,9 +267,9 @@ AUTOFS_DEV_IOCTL_OPENMOUNT and AUTOFS_DEV_IOCTL_CLOSEMOUNT
Obtain and release a file descriptor for an autofs managed mount point Obtain and release a file descriptor for an autofs managed mount point
path. The open call requires an initialized struct autofs_dev_ioctl with path. The open call requires an initialized struct autofs_dev_ioctl with
the path field set and the size field adjusted appropriately as well the path field set and the size field adjusted appropriately as well
as the arg1 field set to the device number of the autofs mount. The as the devid field of struct args_openmount set to the device number of
device number can be obtained from the mount options shown in the autofs mount. The device number can be obtained from the mount options
/proc/mounts. The close call requires an initialized struct shown in /proc/mounts. The close call requires an initialized struct
autofs_dev_ioct with the ioctlfd field set to the descriptor obtained autofs_dev_ioct with the ioctlfd field set to the descriptor obtained
from the open call. The release of the file descriptor can also be done from the open call. The release of the file descriptor can also be done
with close(2) so any open descriptors will also be closed at process exit. with close(2) so any open descriptors will also be closed at process exit.
...@@ -272,10 +283,10 @@ AUTOFS_DEV_IOCTL_READY_CMD and AUTOFS_DEV_IOCTL_FAIL_CMD ...@@ -272,10 +283,10 @@ AUTOFS_DEV_IOCTL_READY_CMD and AUTOFS_DEV_IOCTL_FAIL_CMD
Return mount and expire result status from user space to the kernel. Return mount and expire result status from user space to the kernel.
Both of these calls require an initialized struct autofs_dev_ioctl Both of these calls require an initialized struct autofs_dev_ioctl
with the ioctlfd field set to the descriptor obtained from the open with the ioctlfd field set to the descriptor obtained from the open
call and the arg1 field set to the wait queue token number, received call and the token field of struct args_ready or struct args_fail set
by user space in the foregoing mount or expire request. The arg2 field to the wait queue token number, received by user space in the foregoing
is set to the status to be returned. For the ready call this is always mount or expire request. The status field of struct args_fail is set to
0 and for the fail call it is set to the errno of the operation. the errno of the operation. It is set to 0 on success.
AUTOFS_DEV_IOCTL_SETPIPEFD_CMD AUTOFS_DEV_IOCTL_SETPIPEFD_CMD
...@@ -290,9 +301,10 @@ mount be catatonic (see next call). ...@@ -290,9 +301,10 @@ mount be catatonic (see next call).
The call requires an initialized struct autofs_dev_ioctl with the The call requires an initialized struct autofs_dev_ioctl with the
ioctlfd field set to the descriptor obtained from the open call and ioctlfd field set to the descriptor obtained from the open call and
the arg1 field set to descriptor of the pipe. On success the call the pipefd field of struct args_setpipefd set to descriptor of the pipe.
also sets the process group id used to identify the controlling process On success the call also sets the process group id used to identify the
(eg. the owning automount(8) daemon) to the process group of the caller. controlling process (eg. the owning automount(8) daemon) to the process
group of the caller.
AUTOFS_DEV_IOCTL_CATATONIC_CMD AUTOFS_DEV_IOCTL_CATATONIC_CMD
...@@ -323,8 +335,8 @@ mount on the given path dentry. ...@@ -323,8 +335,8 @@ mount on the given path dentry.
The call requires an initialized struct autofs_dev_ioctl with the path The call requires an initialized struct autofs_dev_ioctl with the path
field set to the mount point in question and the size field adjusted field set to the mount point in question and the size field adjusted
appropriately. Upon return the struct field arg1 contains the uid and appropriately. Upon return the uid field of struct args_requester contains
arg2 the gid. the uid and gid field the gid.
When reconstructing an autofs mount tree with active mounts we need to When reconstructing an autofs mount tree with active mounts we need to
re-connect to mounts that may have used the original process uid and re-connect to mounts that may have used the original process uid and
...@@ -342,8 +354,9 @@ this ioctl is called until no further expire candidates are found. ...@@ -342,8 +354,9 @@ this ioctl is called until no further expire candidates are found.
The call requires an initialized struct autofs_dev_ioctl with the The call requires an initialized struct autofs_dev_ioctl with the
ioctlfd field set to the descriptor obtained from the open call. In ioctlfd field set to the descriptor obtained from the open call. In
addition an immediate expire, independent of the mount timeout, can be addition an immediate expire, independent of the mount timeout, can be
requested by setting the arg1 field to 1. If no expire candidates can requested by setting the how field of struct args_expire to 1. If no
be found the ioctl returns -1 with errno set to EAGAIN. expire candidates can be found the ioctl returns -1 with errno set to
EAGAIN.
This call causes the kernel module to check the mount corresponding This call causes the kernel module to check the mount corresponding
to the given ioctlfd for mounts that can be expired, issues an expire to the given ioctlfd for mounts that can be expired, issues an expire
...@@ -356,7 +369,8 @@ Checks if an autofs mount point is in use. ...@@ -356,7 +369,8 @@ Checks if an autofs mount point is in use.
The call requires an initialized struct autofs_dev_ioctl with the The call requires an initialized struct autofs_dev_ioctl with the
ioctlfd field set to the descriptor obtained from the open call and ioctlfd field set to the descriptor obtained from the open call and
it returns the result in the arg1 field, 1 for busy and 0 otherwise. it returns the result in the may_umount field of struct args_askumount,
1 for busy and 0 otherwise.
AUTOFS_DEV_IOCTL_ISMOUNTPOINT_CMD AUTOFS_DEV_IOCTL_ISMOUNTPOINT_CMD
...@@ -368,12 +382,12 @@ The call requires an initialized struct autofs_dev_ioctl. There are two ...@@ -368,12 +382,12 @@ The call requires an initialized struct autofs_dev_ioctl. There are two
possible variations. Both use the path field set to the path of the mount possible variations. Both use the path field set to the path of the mount
point to check and the size field adjusted appropriately. One uses the point to check and the size field adjusted appropriately. One uses the
ioctlfd field to identify a specific mount point to check while the other ioctlfd field to identify a specific mount point to check while the other
variation uses the path and optionally arg1 set to an autofs mount type. variation uses the path and optionally in.type field of struct args_ismountpoint
The call returns 1 if this is a mount point and sets arg1 to the device set to an autofs mount type. The call returns 1 if this is a mount point
number of the mount and field arg2 to the relevant super block magic and sets out.devid field to the device number of the mount and out.magic
number (described below) or 0 if it isn't a mountpoint. In both cases field to the relevant super block magic number (described below) or 0 if
the the device number (as returned by new_encode_dev()) is returned it isn't a mountpoint. In both cases the the device number (as returned
in field arg1. by new_encode_dev()) is returned in out.devid field.
If supplied with a file descriptor we're looking for a specific mount, If supplied with a file descriptor we're looking for a specific mount,
not necessarily at the top of the mounted stack. In this case the path not necessarily at the top of the mounted stack. In this case the path
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment