Re: [PATCH] autofs: Revert wait_queue_t => wait_queue_entry_t rename

Gabriel C
2017-07-10T14:02:00Z

Hi,

2017-07-10 6:40 GMT+02:00 Florian Fainelli <f.fainelli@gmail.com>:
> This reverts commit ac6424b981bce1c4bc55675c6ce11bfe1bbfa64f "("sched/wait:
> Rename wait_queue_t => wait_queue_entry_t") as far as the autofs user API
> structures are concerned since that would break user space build against such
> kernel headers.
>
> Fixes: ac6424b981bc ("sched/wait: Rename wait_queue_t => wait_queue_entry_t")
> Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
> ---
> include/uapi/linux/auto_fs.h | 4 ++--
> include/uapi/linux/auto_fs4.h | 4 ++--
> 2 files changed, 4 insertions(+), 4 deletions(-)

You need revert a lot more .. that won't even compile.

Looks like someone used some script to convert these :)

Something like this :

>From 35d689b39286f94ded7609b5bed9ff0232958f9d Mon Sep 17 00:00:00 2001
From: Gabriel Craciunescu <crazy@frugalware.org>
Date: Mon, 10 Jul 2017 15:48:57 +0200
Subject: [PATCH] autofs: Revert wait_queue_t => wait_queue_entry_t rename

This reverts aufs parts of commit ac6424b981bce1c4bc55675c6ce11bfe1bbfa64f
"("sched/wait: Rename wait_queue_t => wait_queue_entry_t") as far as the
autofs user API structures are concerned since that would break user space
build against such kernel headers.

Fixes: ac6424b981bc ("sched/wait: Rename wait_queue_t => wait_queue_entry_t")
Signed-off-by: Gabriel Craciunescu <nix.or.die@gmail.com>
---
Documentation/filesystems/autofs4.txt | 12 ++++++------
fs/autofs4/autofs_i.h | 2 +-
fs/autofs4/waitq.c | 18 +++++++++---------
include/uapi/linux/auto_fs.h | 4 ++--
include/uapi/linux/auto_fs4.h | 4 ++--
5 files changed, 20 insertions(+), 20 deletions(-)

diff --git a/Documentation/filesystems/autofs4.txt
b/Documentation/filesystems/autofs4.txt
index 8444dc3d57e8..f10dd590f69f 100644
--- a/Documentation/filesystems/autofs4.txt
+++ b/Documentation/filesystems/autofs4.txt
@@ -316,7 +316,7 @@ For version 5, the format of the message is:
struct autofs_v5_packet {
int proto_version; /* Protocol version */
int type; /* Type of packet */
- autofs_wqt_t wait_queue_entry_token;
+ autofs_wqt_t wait_queue_token;
__u32 dev;
__u64 ino;
__u32 uid;
@@ -341,12 +341,12 @@ The pipe will be set to "packet mode"
(equivalent to passing
`O_DIRECT`) to _pipe2(2)_ so that a read from the pipe will return at
most one packet, and any unread portion of a packet will be discarded.

-The `wait_queue_entry_token` is a unique number which can identify a
+The `wait_queue_token` is a unique number which can identify a
particular request to be acknowledged. When a message is sent over
the pipe the affected dentry is marked as either "active" or
"expiring" and other accesses to it block until the message is
acknowledged using one of the ioctls below and the relevant
-`wait_queue_entry_token`.
+`wait_queue_token`.

Communicating with autofs: root directory ioctls
------------------------------------------------
@@ -358,7 +358,7 @@ capability, or must be the automount daemon.
The available ioctl commands are:

- **AUTOFS_IOC_READY**: a notification has been handled. The argument
- to the ioctl command is the "wait_queue_entry_token" number
+ to the ioctl command is the "wait_queue_token" number
corresponding to the notification being acknowledged.
- **AUTOFS_IOC_FAIL**: similar to above, but indicates failure with
the error code `ENOENT`.
@@ -382,14 +382,14 @@ The available ioctl commands are:
struct autofs_packet_expire_multi {
int proto_version; /* Protocol version */
int type; /* Type of packet */
- autofs_wqt_t wait_queue_entry_token;
+ autofs_wqt_t wait_queue_token;
int len;
char name[NAME_MAX+1];
};

is required. This is filled in with the name of something
that can be unmounted or removed. If nothing can be expired,
- `errno` is set to `EAGAIN`. Even though a `wait_queue_entry_token`
+ `errno` is set to `EAGAIN`. Even though a `wait_queue_token`
is present in the structure, no "wait queue" is established
and no acknowledgment is needed.
- **AUTOFS_IOC_EXPIRE_MULTI**: This is similar to
diff --git a/fs/autofs4/autofs_i.h b/fs/autofs4/autofs_i.h
index 974f5346458a..beef981aa54f 100644
--- a/fs/autofs4/autofs_i.h
+++ b/fs/autofs4/autofs_i.h
@@ -83,7 +83,7 @@ struct autofs_info {
struct autofs_wait_queue {
wait_queue_head_t queue;
struct autofs_wait_queue *next;
- autofs_wqt_t wait_queue_entry_token;
+ autofs_wqt_t wait_queue_token;
/* We use the following to see what we are waiting for */
struct qstr name;
u32 dev;
diff --git a/fs/autofs4/waitq.c b/fs/autofs4/waitq.c
index 7071895b0678..24a58bf9ca72 100644
--- a/fs/autofs4/waitq.c
+++ b/fs/autofs4/waitq.c
@@ -104,7 +104,7 @@ static void autofs4_notify_daemon(struct
autofs_sb_info *sbi,
size_t pktsz;

pr_debug("wait id = 0x%08lx, name = %.*s, type=%d\n",
- (unsigned long) wq->wait_queue_entry_token,
+ (unsigned long) wq->wait_queue_token,
wq->name.len, wq->name.name, type);

memset(&pkt, 0, sizeof(pkt)); /* For security reasons */
@@ -120,7 +120,7 @@ static void autofs4_notify_daemon(struct
autofs_sb_info *sbi,

pktsz = sizeof(*mp);

- mp->wait_queue_entry_token = wq->wait_queue_entry_token;
+ mp->wait_queue_token = wq->wait_queue_token;
mp->len = wq->name.len;
memcpy(mp->name, wq->name.name, wq->name.len);
mp->name[wq->name.len] = '\0';
@@ -133,7 +133,7 @@ static void autofs4_notify_daemon(struct
autofs_sb_info *sbi,

pktsz = sizeof(*ep);

- ep->wait_queue_entry_token = wq->wait_queue_entry_token;
+ ep->wait_queue_token = wq->wait_queue_token;
ep->len = wq->name.len;
memcpy(ep->name, wq->name.name, wq->name.len);
ep->name[wq->name.len] = '\0';
@@ -153,7 +153,7 @@ static void autofs4_notify_daemon(struct
autofs_sb_info *sbi,

pktsz = sizeof(*packet);

- packet->wait_queue_entry_token = wq->wait_queue_entry_token;
+ packet->wait_queue_token = wq->wait_queue_token;
packet->len = wq->name.len;
memcpy(packet->name, wq->name.name, wq->name.len);
packet->name[wq->name.len] = '\0';
@@ -428,7 +428,7 @@ int autofs4_wait(struct autofs_sb_info *sbi,
return -ENOMEM;
}

- wq->wait_queue_entry_token = autofs4_next_wait_queue;
+ wq->wait_queue_token = autofs4_next_wait_queue;
if (++autofs4_next_wait_queue == 0)
autofs4_next_wait_queue = 1;
wq->next = sbi->queues;
@@ -461,7 +461,7 @@ int autofs4_wait(struct autofs_sb_info *sbi,
}

pr_debug("new wait id = 0x%08lx, name = %.*s, nfy=%d\n",
- (unsigned long) wq->wait_queue_entry_token, wq->name.len,
+ (unsigned long) wq->wait_queue_token, wq->name.len,
wq->name.name, notify);

/*
@@ -471,7 +471,7 @@ int autofs4_wait(struct autofs_sb_info *sbi,
} else {
wq->wait_ctr++;
pr_debug("existing wait id = 0x%08lx, name = %.*s, nfy=%d\n",
- (unsigned long) wq->wait_queue_entry_token, wq->name.len,
+ (unsigned long) wq->wait_queue_token, wq->name.len,
wq->name.name, notify);
mutex_unlock(&sbi->wq_mutex);
kfree(qstr.name);
@@ -550,13 +550,13 @@ int autofs4_wait(struct autofs_sb_info *sbi,
}

-int autofs4_wait_release(struct autofs_sb_info *sbi, autofs_wqt_t
wait_queue_entry_token, int status)
+int autofs4_wait_release(struct autofs_sb_info *sbi, autofs_wqt_t
wait_queue_token, int status)
{
struct autofs_wait_queue *wq, **wql;

mutex_lock(&sbi->wq_mutex);
for (wql = &sbi->queues; (wq = *wql) != NULL; wql = &wq->next) {
- if (wq->wait_queue_entry_token == wait_queue_entry_token)
+ if (wq->wait_queue_token == wait_queue_token)
break;
}

diff --git a/include/uapi/linux/auto_fs.h b/include/uapi/linux/auto_fs.h
index 1953f8d6063b..aa63451ef20a 100644
--- a/include/uapi/linux/auto_fs.h
+++ b/include/uapi/linux/auto_fs.h
@@ -26,7 +26,7 @@
#define AUTOFS_MIN_PROTO_VERSION AUTOFS_PROTO_VERSION

/*
- * The wait_queue_entry_token (autofs_wqt_t) is part of a structure
which is passed
+ * The wait_queue_token (autofs_wqt_t) is part of a structure which is passed
* back to the kernel via ioctl from userspace. On architectures where 32- and
* 64-bit userspace binaries can be executed it's important that the size of
* autofs_wqt_t stays constant between 32- and 64-bit Linux kernels so that we
@@ -49,7 +49,7 @@ struct autofs_packet_hdr {

struct autofs_packet_missing {
struct autofs_packet_hdr hdr;
- autofs_wqt_t wait_queue_entry_token;
+ autofs_wqt_t wait_queue_token;
int len;
char name[NAME_MAX+1];
};
diff --git a/include/uapi/linux/auto_fs4.h b/include/uapi/linux/auto_fs4.h
index 65b72d0222e7..7c6da423d54e 100644
--- a/include/uapi/linux/auto_fs4.h
+++ b/include/uapi/linux/auto_fs4.h
@@ -108,7 +108,7 @@ enum autofs_notify {
/* v4 multi expire (via pipe) */
struct autofs_packet_expire_multi {
struct autofs_packet_hdr hdr;
- autofs_wqt_t wait_queue_entry_token;
+ autofs_wqt_t wait_queue_token;
int len;
char name[NAME_MAX+1];
};
@@ -123,7 +123,7 @@ union autofs_packet_union {
/* autofs v5 common packet struct */
struct autofs_v5_packet {
struct autofs_packet_hdr hdr;
- autofs_wqt_t wait_queue_entry_token;
+ autofs_wqt_t wait_queue_token;
__u32 dev;
__u64 ino;
__u32 uid;
--
2.13.2