rhashtable-test: Make use of rhashtable_walk_peek

Message ID 20230425135617.77907-1-cai.huoqing@linux.dev
State New
Headers
Series rhashtable-test: Make use of rhashtable_walk_peek |

Commit Message

Cai Huoqing April 25, 2023, 1:56 p.m. UTC
  Add an example usage of rhashtable_walk_peek to test_bucket_stats.

Signed-off-by: Cai Huoqing <cai.huoqing@linux.dev>
---
 lib/test_rhashtable.c | 8 ++++++++
 1 file changed, 8 insertions(+)
  

Comments

Herbert Xu May 3, 2023, 10:15 a.m. UTC | #1
On Tue, Apr 25, 2023 at 09:56:17PM +0800, Cai Huoqing wrote:
> Add an example usage of rhashtable_walk_peek to test_bucket_stats.
> 
> Signed-off-by: Cai Huoqing <cai.huoqing@linux.dev>
> ---
>  lib/test_rhashtable.c | 8 ++++++++
>  1 file changed, 8 insertions(+)

This is supposed to be testing rhashtable code, it's not meant
to be an example of how to use the API.

> @@ -192,6 +193,13 @@ static void test_bucket_stats(struct rhashtable *ht, unsigned int entries)
>  			break;
>  		}
>  
> +		/* Here's an example usage of rhashtable_walk_peek */
> +		obj = rhashtable_walk_peek(&hti);
> +		if (!obj) {
> +			pr_warn("Test failed: rhashtable_walk_peek() error\n");
> +			break;
> +		}
> +

What is this meant to test?

Thanks,
  

Patch

diff --git a/lib/test_rhashtable.c b/lib/test_rhashtable.c
index c20f6cb4bf55..b1c3316b9bde 100644
--- a/lib/test_rhashtable.c
+++ b/lib/test_rhashtable.c
@@ -177,6 +177,7 @@  static void test_bucket_stats(struct rhashtable *ht, unsigned int entries)
 	unsigned int total = 0, chain_len = 0;
 	struct rhashtable_iter hti;
 	struct rhash_head *pos;
+	struct test_obj *obj;
 
 	rhashtable_walk_enter(ht, &hti);
 	rhashtable_walk_start(&hti);
@@ -192,6 +193,13 @@  static void test_bucket_stats(struct rhashtable *ht, unsigned int entries)
 			break;
 		}
 
+		/* Here's an example usage of rhashtable_walk_peek */
+		obj = rhashtable_walk_peek(&hti);
+		if (!obj) {
+			pr_warn("Test failed: rhashtable_walk_peek() error\n");
+			break;
+		}
+
 		total++;
 	}