[lustre-devel] [PATCH 16/22] lustre: tracefile: convert list_for_each_entry_safe() to while(!list_empty())

James Simmons jsimmons at infradead.org
Wed Aug 1 20:08:13 PDT 2018


> These loops are removing all elements from a list.
> So using while(!list_empty()) makes the intent clearer.

Reviewed-by: James Simmons <jsimmons at infradead.org>
 
> Signed-off-by: NeilBrown <neilb at suse.com>
> ---
>  drivers/staging/lustre/lnet/libcfs/tracefile.c |   12 +++++++-----
>  1 file changed, 7 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/staging/lustre/lnet/libcfs/tracefile.c b/drivers/staging/lustre/lnet/libcfs/tracefile.c
> index 07242d4ed41b..a4768e930021 100644
> --- a/drivers/staging/lustre/lnet/libcfs/tracefile.c
> +++ b/drivers/staging/lustre/lnet/libcfs/tracefile.c
> @@ -896,11 +896,12 @@ void cfs_trace_flush_pages(void)
>  {
>  	struct page_collection pc;
>  	struct cfs_trace_page *tage;
> -	struct cfs_trace_page *tmp;
>  
>  	pc.pc_want_daemon_pages = 1;
>  	collect_pages(&pc);
> -	list_for_each_entry_safe(tage, tmp, &pc.pc_pages, linkage) {
> +	while (!list_empty(&pc.pc_pages)) {
> +		tage = list_first_entry(&pc.pc_pages,
> +					struct cfs_trace_page, linkage);
>  		__LASSERT_TAGE_INVARIANT(tage);
>  
>  		list_del(&tage->linkage);
> @@ -1331,7 +1332,6 @@ static void trace_cleanup_on_all_cpus(void)
>  {
>  	struct cfs_trace_cpu_data *tcd;
>  	struct cfs_trace_page *tage;
> -	struct cfs_trace_page *tmp;
>  	int i, cpu;
>  
>  	for_each_possible_cpu(cpu) {
> @@ -1341,8 +1341,10 @@ static void trace_cleanup_on_all_cpus(void)
>  				continue;
>  			tcd->tcd_shutting_down = 1;
>  
> -			list_for_each_entry_safe(tage, tmp, &tcd->tcd_pages,
> -						 linkage) {
> +			while (!list_empty(&tcd->tcd_pages)) {
> +				tage = list_first_entry(&tcd->tcd_pages,
> +							struct cfs_trace_page,
> +							linkage);
>  				__LASSERT_TAGE_INVARIANT(tage);
>  
>  				list_del(&tage->linkage);
> 
> 
> 


More information about the lustre-devel mailing list