rx: Convert rx_FreeSQEList to rx_freeServerQueue 11/13811/3
authorAndrew Deason <adeason@dson.org>
Mon, 26 Aug 2019 00:30:30 +0000 (19:30 -0500)
committerBenjamin Kaduk <kaduk@mit.edu>
Fri, 30 Aug 2019 06:28:17 +0000 (02:28 -0400)
commitfbdf126df02eacc0442d80cc5bca0e16ddafe55e
tree33e9be545add022ae9d0f97f8b732db83860b6a2
parent3bc03e7a5f8ef521e71a30cb8e66e07e2d1b4605
rx: Convert rx_FreeSQEList to rx_freeServerQueue

Currently, rx_serverQueueEntry structs are placed on the
rx_FreeSQEList linked list instead of being freed directly, but
managing this list is done a bit oddly. The first field in struct
rx_FreeSQEList is an opr_queue, but we don't use the opr_queue_*
macros to manage the list. Instead, we just assume the first field in
a struct rx_serverQueueEntry is a pointer that we can use to link
entries together. This is currently true and works, but it's an odd
way of maintaining such a list, and of course would break if we ever
moved the fields around in struct rx_serverQueueEntry.

Make this code more closely follow the normal way of managing
opr_queue lists, by using opr_queue_* macros, and changing
rx_FreeSQEList to be an opr_queue itself. Change the name to
rx_freeServerQueue to ensure all callers are changed, and to match the
naming convention for the other linked lists for rx_serverQueueEntry
structs. Also move rx_freeServerQueue and its associated lock
freeSQEList_lock to be declared static inside rx.c, since neither are
referenced outside of rx.c.

The general idea for this commit suggested by kaduk@mit.edu.

Change-Id: I2ea15af1ad3228fa5fdf9f323e9394838fba4bac
Reviewed-on: https://gerrit.openafs.org/13811
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
Tested-by: Benjamin Kaduk <kaduk@mit.edu>
src/rx/rx.c
src/rx/rx_globals.h