xfs: use named array initializers for log item dumping
Use named array initializers for the string arrays used to dump log items, rather than depending on the order being maintained correctly. Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com> Reviewed-by: Dave Chinner <dchinner@redhat.com> Signed-off-by: Dave Chinner <david@fromorbit.com>
This commit is contained in:
Родитель
49ca9118e6
Коммит
5110cd82ca
132
fs/xfs/xfs_log.c
132
fs/xfs/xfs_log.c
|
@ -2008,77 +2008,81 @@ xlog_print_tic_res(
|
|||
uint ophdr_spc = ticket->t_res_num_ophdrs * (uint)sizeof(xlog_op_header_t);
|
||||
|
||||
/* match with XLOG_REG_TYPE_* in xfs_log.h */
|
||||
static char *res_type_str[XLOG_REG_TYPE_MAX] = {
|
||||
"bformat",
|
||||
"bchunk",
|
||||
"efi_format",
|
||||
"efd_format",
|
||||
"iformat",
|
||||
"icore",
|
||||
"iext",
|
||||
"ibroot",
|
||||
"ilocal",
|
||||
"iattr_ext",
|
||||
"iattr_broot",
|
||||
"iattr_local",
|
||||
"qformat",
|
||||
"dquot",
|
||||
"quotaoff",
|
||||
"LR header",
|
||||
"unmount",
|
||||
"commit",
|
||||
"trans header"
|
||||
#define REG_TYPE_STR(type, str) [XLOG_REG_TYPE_##type] = str
|
||||
static char *res_type_str[XLOG_REG_TYPE_MAX + 1] = {
|
||||
REG_TYPE_STR(BFORMAT, "bformat"),
|
||||
REG_TYPE_STR(BCHUNK, "bchunk"),
|
||||
REG_TYPE_STR(EFI_FORMAT, "efi_format"),
|
||||
REG_TYPE_STR(EFD_FORMAT, "efd_format"),
|
||||
REG_TYPE_STR(IFORMAT, "iformat"),
|
||||
REG_TYPE_STR(ICORE, "icore"),
|
||||
REG_TYPE_STR(IEXT, "iext"),
|
||||
REG_TYPE_STR(IBROOT, "ibroot"),
|
||||
REG_TYPE_STR(ILOCAL, "ilocal"),
|
||||
REG_TYPE_STR(IATTR_EXT, "iattr_ext"),
|
||||
REG_TYPE_STR(IATTR_BROOT, "iattr_broot"),
|
||||
REG_TYPE_STR(IATTR_LOCAL, "iattr_local"),
|
||||
REG_TYPE_STR(QFORMAT, "qformat"),
|
||||
REG_TYPE_STR(DQUOT, "dquot"),
|
||||
REG_TYPE_STR(QUOTAOFF, "quotaoff"),
|
||||
REG_TYPE_STR(LRHEADER, "LR header"),
|
||||
REG_TYPE_STR(UNMOUNT, "unmount"),
|
||||
REG_TYPE_STR(COMMIT, "commit"),
|
||||
REG_TYPE_STR(TRANSHDR, "trans header"),
|
||||
REG_TYPE_STR(ICREATE, "inode create")
|
||||
};
|
||||
#undef REG_TYPE_STR
|
||||
#define TRANS_TYPE_STR(type) [XFS_TRANS_##type] = #type
|
||||
static char *trans_type_str[XFS_TRANS_TYPE_MAX] = {
|
||||
"SETATTR_NOT_SIZE",
|
||||
"SETATTR_SIZE",
|
||||
"INACTIVE",
|
||||
"CREATE",
|
||||
"CREATE_TRUNC",
|
||||
"TRUNCATE_FILE",
|
||||
"REMOVE",
|
||||
"LINK",
|
||||
"RENAME",
|
||||
"MKDIR",
|
||||
"RMDIR",
|
||||
"SYMLINK",
|
||||
"SET_DMATTRS",
|
||||
"GROWFS",
|
||||
"STRAT_WRITE",
|
||||
"DIOSTRAT",
|
||||
"WRITE_SYNC",
|
||||
"WRITEID",
|
||||
"ADDAFORK",
|
||||
"ATTRINVAL",
|
||||
"ATRUNCATE",
|
||||
"ATTR_SET",
|
||||
"ATTR_RM",
|
||||
"ATTR_FLAG",
|
||||
"CLEAR_AGI_BUCKET",
|
||||
"QM_SBCHANGE",
|
||||
"DUMMY1",
|
||||
"DUMMY2",
|
||||
"QM_QUOTAOFF",
|
||||
"QM_DQALLOC",
|
||||
"QM_SETQLIM",
|
||||
"QM_DQCLUSTER",
|
||||
"QM_QINOCREATE",
|
||||
"QM_QUOTAOFF_END",
|
||||
"FSYNC_TS",
|
||||
"GROWFSRT_ALLOC",
|
||||
"GROWFSRT_ZERO",
|
||||
"GROWFSRT_FREE",
|
||||
"SWAPEXT",
|
||||
"CHECKPOINT",
|
||||
"ICREATE",
|
||||
"CREATE_TMPFILE"
|
||||
TRANS_TYPE_STR(SETATTR_NOT_SIZE),
|
||||
TRANS_TYPE_STR(SETATTR_SIZE),
|
||||
TRANS_TYPE_STR(INACTIVE),
|
||||
TRANS_TYPE_STR(CREATE),
|
||||
TRANS_TYPE_STR(CREATE_TRUNC),
|
||||
TRANS_TYPE_STR(TRUNCATE_FILE),
|
||||
TRANS_TYPE_STR(REMOVE),
|
||||
TRANS_TYPE_STR(LINK),
|
||||
TRANS_TYPE_STR(RENAME),
|
||||
TRANS_TYPE_STR(MKDIR),
|
||||
TRANS_TYPE_STR(RMDIR),
|
||||
TRANS_TYPE_STR(SYMLINK),
|
||||
TRANS_TYPE_STR(SET_DMATTRS),
|
||||
TRANS_TYPE_STR(GROWFS),
|
||||
TRANS_TYPE_STR(STRAT_WRITE),
|
||||
TRANS_TYPE_STR(DIOSTRAT),
|
||||
TRANS_TYPE_STR(WRITEID),
|
||||
TRANS_TYPE_STR(ADDAFORK),
|
||||
TRANS_TYPE_STR(ATTRINVAL),
|
||||
TRANS_TYPE_STR(ATRUNCATE),
|
||||
TRANS_TYPE_STR(ATTR_SET),
|
||||
TRANS_TYPE_STR(ATTR_RM),
|
||||
TRANS_TYPE_STR(ATTR_FLAG),
|
||||
TRANS_TYPE_STR(CLEAR_AGI_BUCKET),
|
||||
TRANS_TYPE_STR(SB_CHANGE),
|
||||
TRANS_TYPE_STR(DUMMY1),
|
||||
TRANS_TYPE_STR(DUMMY2),
|
||||
TRANS_TYPE_STR(QM_QUOTAOFF),
|
||||
TRANS_TYPE_STR(QM_DQALLOC),
|
||||
TRANS_TYPE_STR(QM_SETQLIM),
|
||||
TRANS_TYPE_STR(QM_DQCLUSTER),
|
||||
TRANS_TYPE_STR(QM_QINOCREATE),
|
||||
TRANS_TYPE_STR(QM_QUOTAOFF_END),
|
||||
TRANS_TYPE_STR(FSYNC_TS),
|
||||
TRANS_TYPE_STR(GROWFSRT_ALLOC),
|
||||
TRANS_TYPE_STR(GROWFSRT_ZERO),
|
||||
TRANS_TYPE_STR(GROWFSRT_FREE),
|
||||
TRANS_TYPE_STR(SWAPEXT),
|
||||
TRANS_TYPE_STR(CHECKPOINT),
|
||||
TRANS_TYPE_STR(ICREATE),
|
||||
TRANS_TYPE_STR(CREATE_TMPFILE)
|
||||
};
|
||||
#undef TRANS_TYPE_STR
|
||||
|
||||
xfs_warn(mp, "xlog_write: reservation summary:");
|
||||
xfs_warn(mp, " trans type = %s (%u)",
|
||||
((ticket->t_trans_type <= 0 ||
|
||||
ticket->t_trans_type > XFS_TRANS_TYPE_MAX) ?
|
||||
"bad-trans-type" : trans_type_str[ticket->t_trans_type-1]),
|
||||
"bad-trans-type" : trans_type_str[ticket->t_trans_type]),
|
||||
ticket->t_trans_type);
|
||||
xfs_warn(mp, " unit res = %d bytes",
|
||||
ticket->t_unit_res);
|
||||
|
@ -2097,7 +2101,7 @@ xlog_print_tic_res(
|
|||
uint r_type = ticket->t_res_arr[i].r_type;
|
||||
xfs_warn(mp, "region[%u]: %s - %u bytes", i,
|
||||
((r_type <= 0 || r_type > XLOG_REG_TYPE_MAX) ?
|
||||
"bad-rtype" : res_type_str[r_type-1]),
|
||||
"bad-rtype" : res_type_str[r_type]),
|
||||
ticket->t_res_arr[i].r_len);
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче