[PATCH 20/20] Add btree verification

Zach Brown zab at zabbo.net
Wed Jun 18 15:36:15 PDT 2025


On Thu, Jun 12, 2025 at 10:11:12PM +0200, Valerie Aurora wrote:
> Add super janky btree verification functions and associated debugfs
> commands. They caught a couple of bugs in replace_item().

> +static void print_key(int print, struct ngnfs_btree_key *key)
> +{
> +	verify_printf(print, "[%020llu %020llu %020llu]",
> +		      le64_to_cpu(key->k[0]), le64_to_cpu(key->k[1]), le64_to_cpu(key->k[2]));
> +}

> +	verify_printf(print, "bt->first:\t");
> +	print_key(print, &bt->first);
> +	verify_printf(print, "\nbt->last:\t");
> +	print_key(print, &bt->last);
> +	verify_printf(print, "\n\n");

FWIW, I would have done this with _FMT/_ARG macros.  So something like:

#define K_FMT      "[%020llu %020llu %020llu]"
#define K_ARGS(k)  le64_to_cpu((k)->k[0]), le64_to_cpu((k)->k[1]), le64_to_cpu((k)->k[2])

	verify_printf(print, "bt->first:\t"K_FMT"\nbt->last:\t"K_FMT"\n\n",
		K_ARGS(&bt->first), K_ARGS(&bt->last));

- z



More information about the ngnfs-devel mailing list