[dm-devel] [PATCH 17/35] multipathd: uxlsnr: use symbolic values for pollfd indices
Benjamin Marzinski
bmarzins at redhat.com
Thu Sep 16 02:18:08 UTC 2021
On Fri, Sep 10, 2021 at 01:41:02PM +0200, mwilck at suse.com wrote:
> From: Martin Wilck <mwilck at suse.com>
>
> Avoid hardcoding the indices as 0, 1, 2...
>
Reviewed-by: Benjamin Marzinski <bmarzins at redhat.com>
> Signed-off-by: Martin Wilck <mwilck at suse.com>
> ---
> multipathd/uxlsnr.c | 25 +++++++++++++++----------
> 1 file changed, 15 insertions(+), 10 deletions(-)
>
> diff --git a/multipathd/uxlsnr.c b/multipathd/uxlsnr.c
> index 7e88538..6506109 100644
> --- a/multipathd/uxlsnr.c
> +++ b/multipathd/uxlsnr.c
> @@ -46,8 +46,13 @@ struct client {
> int fd;
> };
>
> -/* The number of fds we poll on, other than individual client connections */
> -#define POLLFDS_BASE 2
> +/* Indices for array of poll fds */
> +enum {
> + POLLFD_UX = 0,
> + POLLFD_NOTIFY,
> + POLLFDS_BASE,
> +};
> +
> #define POLLFD_CHUNK (4096 / sizeof(struct pollfd))
> /* Minimum mumber of pollfds to reserve for clients */
> #define MIN_POLLS (POLLFD_CHUNK - POLLFDS_BASE)
> @@ -339,8 +344,8 @@ void * uxsock_listen(uxsock_trigger_fn uxsock_trigger, long ux_sock,
> }
> }
> if (num_clients < MAX_CLIENTS) {
> - polls[0].fd = ux_sock;
> - polls[0].events = POLLIN;
> + polls[POLLFD_UX].fd = ux_sock;
> + polls[POLLFD_UX].events = POLLIN;
> } else {
> /*
> * New clients can't connect, num_clients won't grow
> @@ -348,15 +353,15 @@ void * uxsock_listen(uxsock_trigger_fn uxsock_trigger, long ux_sock,
> */
> condlog(1, "%s: max client connections reached, pausing polling",
> __func__);
> - polls[0].fd = -1;
> + polls[POLLFD_UX].fd = -1;
> }
>
> reset_watch(notify_fd, &wds, &sequence_nr);
> if (notify_fd == -1 || (wds.conf_wd == -1 && wds.dir_wd == -1))
> - polls[1].fd = -1;
> + polls[POLLFD_NOTIFY].fd = -1;
> else
> - polls[1].fd = notify_fd;
> - polls[1].events = POLLIN;
> + polls[POLLFD_NOTIFY].fd = notify_fd;
> + polls[POLLFD_NOTIFY].events = POLLIN;
>
> /* setup the clients */
> i = POLLFDS_BASE;
> @@ -454,12 +459,12 @@ void * uxsock_listen(uxsock_trigger_fn uxsock_trigger, long ux_sock,
> handle_signals(true);
>
> /* see if we got a new client */
> - if (polls[0].revents & POLLIN) {
> + if (polls[POLLFD_UX].revents & POLLIN) {
> new_client(ux_sock);
> }
>
> /* handle inotify events on config files */
> - if (polls[1].revents & POLLIN)
> + if (polls[POLLFD_NOTIFY].revents & POLLIN)
> handle_inotify(notify_fd, &wds);
> }
>
> --
> 2.33.0
More information about the dm-devel
mailing list