mirror of https://gitee.com/openkylin/linux.git
staging: lustre: lnet: api-ni: Use list_for_each_entry_safe
Doubly linked lists which are iterated using list_empty and list_entry macros have been replaced with list_for_each_entry_safe macro. This makes the iteration simpler and more readable. This patch replaces the while loop containing list_empty and list_entry with list_for_each_entry_safe. This was done with Coccinelle. @@ expression E1; identifier I1, I2; type T; iterator name list_for_each_entry_safe; @@ T *I1; + T *tmp; ... - while (list_empty(&E1) == 0) + list_for_each_entry_safe (I1, tmp, &E1, I2) { ...when != T *I1; - I1 = list_entry(E1.next, T, I2); ... } Signed-off-by: Bhaktipriya Shridhar <bhaktipriya96@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
3e47a1cfba
commit
c997866cd2
|
@ -1086,18 +1086,17 @@ lnet_clear_zombies_nis_locked(void)
|
|||
int i;
|
||||
int islo;
|
||||
lnet_ni_t *ni;
|
||||
lnet_ni_t *temp;
|
||||
|
||||
/*
|
||||
* Now wait for the NI's I just nuked to show up on ln_zombie_nis
|
||||
* and shut them down in guaranteed thread context
|
||||
*/
|
||||
i = 2;
|
||||
while (!list_empty(&the_lnet.ln_nis_zombie)) {
|
||||
list_for_each_entry_safe(ni, temp, &the_lnet.ln_nis_zombie, ni_list) {
|
||||
int *ref;
|
||||
int j;
|
||||
|
||||
ni = list_entry(the_lnet.ln_nis_zombie.next,
|
||||
lnet_ni_t, ni_list);
|
||||
list_del_init(&ni->ni_list);
|
||||
cfs_percpt_for_each(ref, j, ni->ni_refs) {
|
||||
if (!*ref)
|
||||
|
@ -1147,6 +1146,7 @@ static void
|
|||
lnet_shutdown_lndnis(void)
|
||||
{
|
||||
lnet_ni_t *ni;
|
||||
lnet_ni_t *temp;
|
||||
int i;
|
||||
|
||||
/* NB called holding the global mutex */
|
||||
|
@ -1160,9 +1160,7 @@ lnet_shutdown_lndnis(void)
|
|||
the_lnet.ln_shutdown = 1; /* flag shutdown */
|
||||
|
||||
/* Unlink NIs from the global table */
|
||||
while (!list_empty(&the_lnet.ln_nis)) {
|
||||
ni = list_entry(the_lnet.ln_nis.next,
|
||||
lnet_ni_t, ni_list);
|
||||
list_for_each_entry_safe(ni, temp, &the_lnet.ln_nis, ni_list) {
|
||||
lnet_ni_unlink_locked(ni);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue