staging: lustre: lnet: Use list_for_each_entry_safe
PATCH 1/1 staging: lustre: lnet: 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);
...
}
--- drivers/staging/lustre/lnet/lnet/config.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-)
drivers/staging/lustre/lnet/lnet/config.c +2 -3
@@ -1016,6 +1016,7 @@ lnet_match_networks(char **networksp, char *ip2nets, __u32 *ipaddrs, int nip)struct list_head *t;struct list_head *t2;struct lnet_text_buf *tb; +struct lnet_text_buf *temp;struct lnet_text_buf *tb2;__u32 net1;__u32 net2;
@@ -1038,9 +1039,7 @@ lnet_match_networks(char **networksp, char *ip2nets, __u32 *ipaddrs, int nip) len =0 ; rc =0 ; -while (!list_empty (&raw_entries)) { - tb = list_entry(raw_entries.next, struct lnet_text_buf, - ltb_list); +list_for_each_entry_safe (tb, temp, &raw_entries, ltb_list) {strncpy (source, tb->ltb_text,sizeof (source)); source[sizeof (source) -1 ] ='\0' ;
--
2.1.4
Greg KH
maintainerQuoted 9 lines · Bhaktipriya Shridhar
Doubly linked lists which are iterated using
list_emptyandlist_entrymacros have been replaced withlist_for_each_entry_safemacro.
This makes the iteration simpler and more readable.This patch replaces the while loop containing
list_emptyandlist_entrywithlist_for_each_entry_safe.This was done with Coccinelle.
You sent 4 patches all with the same subject again :(
Greg KH
maintainerQuoted 9 lines · Bhaktipriya Shridhar
Doubly linked lists which are iterated using
list_emptyandlist_entrymacros have been replaced withlist_for_each_entry_safemacro.
This makes the iteration simpler and more readable.This patch replaces the while loop containing
list_emptyandlist_entrywithlist_for_each_entry_safe.This was done with Coccinelle.
You sent 4 patches all with the same subject again :(