xfs_repair: fix getsubopt name definitions to use enums
PATCH 1/1 xfs_repair: fix getsubopt name definitions to use enums
From: Darrick J. Wong <[email protected]>
Convert the getsubopt usage in xfs_repair to use enums and explicitly initialized array elements, similar to mkfs. This also fixes the hole in the o_opts table caused by 42fa89bc1b8dc8 ("xfs_repair: remove pre_65_beta option") that causes segfaults in xfs/179 and xfs/202.
--- repair/xfs_repair.c | 40 ++++++++++++++++++++++++---------------- 1 file changed, 24 insertions(+), 16 deletions(-)
repair/xfs_repair.c +24 -16
@@ -46,29 +46,37 @@/* * -o: user-supplied override options */ +enum o_opt_nums { +ASSUME_XFS =0 , +IHASH_SIZE , +BHASH_SIZE , +AG_STRIDE , +FORCE_GEO , +PHASE2_THREADS , +O_MAX_OPTS , +}; +static char *o_opts[] = { -#define ASSUME_XFS 0 - "assume_xfs", -#define IHASH_SIZE 2 - "ihash", -#define BHASH_SIZE 3 - "bhash", -#define AG_STRIDE 4 - "ag_stride", -#define FORCE_GEO 5 - "force_geometry", -#define PHASE2_THREADS 6 -"phase2_threads" , -NULL + [ASSUME_XFS ] ="assume_xfs" , + [IHASH_SIZE ] ="ihash" , + [BHASH_SIZE ] ="bhash" , + [AG_STRIDE ] ="ag_stride" , + [FORCE_GEO ] ="force_geometry" , + [PHASE2_THREADS ] ="phase2_threads" , + [O_MAX_OPTS ] =NULL , };/* * -c: conversion options */ +enum c_opt_nums { +CONVERT_LAZY_COUNT =0 , +C_MAX_OPTS , +}; +static char *c_opts[] = { -#define CONVERT_LAZY_COUNT 0 -"lazycount" , -NULL + [CONVERT_LAZY_COUNT ] ="lazycount" , + [C_MAX_OPTS ] =NULL , };
Quoted 8 lines · Darrick J. Wong
From: Darrick J. Wong <[email protected]>
Convert the getsubopt usage in
xfs_repairto use enums and explicitly initialized array elements, similar to mkfs. This also fixes the hole in theo_optstable caused by42fa89bc1b8dc8("xfs_repair: removepre_65_betaoption") that causes segfaults in xfs/179 and xfs/202.Signed-off-by Darrick J. Wong <[email protected]>
Ugh, sorry for not catching that myself, thanks.
Fixes-commit: 42fa89bc1b ("xfs_repair: remove pre_65_beta option")
Quoted 63 lines
--- repair/xfs_repair.c | 40 ++++++++++++++++++++++++---------------- 1 file changed, 24 insertions(+), 16 deletions(-)repair/xfs_repair.c +24
-16@@ -46,29 +46,37 @@/* * -o: user-supplied override options */ +enum o_opt_nums { +ASSUME_XFS =0 , +IHASH_SIZE , +BHASH_SIZE , +AG_STRIDE , +FORCE_GEO , +PHASE2_THREADS , +O_MAX_OPTS , +}; +static char *o_opts[] = { -#define ASSUME_XFS 0 - "assume_xfs", -#define IHASH_SIZE 2 - "ihash", -#define BHASH_SIZE 3 - "bhash", -#define AG_STRIDE 4 - "ag_stride", -#define FORCE_GEO 5 - "force_geometry", -#define PHASE2_THREADS 6 -"phase2_threads" , -NULL + [ASSUME_XFS ] ="assume_xfs" , + [IHASH_SIZE ] ="ihash" , + [BHASH_SIZE ] ="bhash" , + [AG_STRIDE ] ="ag_stride" , + [FORCE_GEO ] ="force_geometry" , + [PHASE2_THREADS ] ="phase2_threads" , + [O_MAX_OPTS ] =NULL , };/* * -c: conversion options */ +enum c_opt_nums { +CONVERT_LAZY_COUNT =0 , +C_MAX_OPTS , +}; +static char *c_opts[] = { -#define CONVERT_LAZY_COUNT 0 -"lazycount" , -NULL + [CONVERT_LAZY_COUNT ] ="lazycount" , + [C_MAX_OPTS ] =NULL , };