scripts: dbgflags.py: Added support for flag aliases

Also tweaked related flag comments a bit.

---

This adds another internal flag modifier ('a') to dbgflags.py to
indicate a flag is an alias for multiple other flags.

These still show up in -l/--list and name searches:

  $ ./scripts/dbgflags.py -l +ck
  LFS3_CK_MKCONSISTENT  0x00000100  Make the filesystem consistent
  LFS3_CK_LOOKAHEAD     0x00000200  Repopulate lookahead buffer
  LFS3_CK_COMPACT       0x00000800  Compact metadata logs
  LFS3_CK_CKMETA        0x00001000  Check metadata checksums
  LFS3_CK_CKDATA        0x00002000  Check metadata + data checksums
  LFS3_CK_CK            0x00003000  Alias for all check work
  LFS3_CK_GC            0x00003b00  Alias for all gc work

But are hidden from value searches, as they would be redundant and the
specific low-level flags are probably more useful:

  $ ./scripts/dbgflags.py +ck 0x00003000
  LFS3_CK_CKMETA  0x00001000  Check metadata checksums
  LFS3_CK_CKDATA  0x00002000  Check metadata + data checksums
This commit is contained in:
Christopher Haster
2025-12-06 14:18:40 -06:00
parent e9bd704c89
commit 4f22d8c591
2 changed files with 27 additions and 13 deletions
+11 -11
View File
@@ -153,7 +153,7 @@ enum lfs3_type {
#define LFS3_o_UNGRAFT 0x00800000 // File's leaf does not match disk
#define LFS3_o_UNFLUSH 0x00400000 // File's cache does not match disk
// an alias for ck work
// an alias for all check work
#define LFS3_O_CK (LFS3_O_CKMETA | LFS3_O_CKDATA)
// File seek flags
@@ -221,10 +221,10 @@ enum lfs3_type {
#define LFS3_F_CKDATA 0x00002000 // Check metadata + data checksums
#endif
// an alias for ck work
// an alias for all check work
#define LFS3_F_CK (LFS3_F_CKMETA | LFS3_F_CKDATA)
// an alias for all possible gc work
// an alias for all gc work
#define LFS3_F_GC ( \
LFS3_IFDEF_RDONLY(0, LFS3_F_MKCONSISTENT) \
| LFS3_IFDEF_RDONLY(0, LFS3_F_LOOKAHEAD) \
@@ -275,10 +275,10 @@ enum lfs3_type {
#define LFS3_M_CKMETA 0x00001000 // Check metadata checksums
#define LFS3_M_CKDATA 0x00002000 // Check metadata + data checksums
// an alias for ck work
// an alias for all check work
#define LFS3_M_CK (LFS3_M_CKMETA | LFS3_M_CKDATA)
// an alias for all possible gc work
// an alias for all gc work
#define LFS3_M_GC ( \
LFS3_IFDEF_RDONLY(0, LFS3_M_MKCONSISTENT) \
| LFS3_IFDEF_RDONLY(0, LFS3_M_LOOKAHEAD) \
@@ -367,10 +367,10 @@ enum lfs3_btype {
#define LFS3_t_DIRTY 0x02000000 // Filesystem ckpointed outside traversal
#define LFS3_t_STALE 0x01000000 // Block queue probably out-of-date
// an alias for ck work
// an alias for all check work
#define LFS3_T_CK (LFS3_T_CKMETA | LFS3_T_CKDATA)
// an alias for all possible gc work
// an alias for all gc work
#define LFS3_T_GC ( \
LFS3_IFDEF_RDONLY(0, LFS3_T_MKCONSISTENT) \
| LFS3_IFDEF_RDONLY(0, LFS3_T_LOOKAHEAD) \
@@ -393,10 +393,10 @@ enum lfs3_btype {
#define LFS3_CK_CKMETA 0x00001000 // Check metadata checksums
#define LFS3_CK_CKDATA 0x00002000 // Check metadata + data checksums
// an alias for ck work
// an alias for all check work
#define LFS3_CK_CK (LFS3_CK_CKMETA | LFS3_CK_CKDATA)
// an alias for all possible gc work
// an alias for all gc work
#define LFS3_CK_GC ( \
LFS3_IFDEF_RDONLY(0, LFS3_CK_MKCONSISTENT) \
| LFS3_IFDEF_RDONLY(0, LFS3_CK_LOOKAHEAD) \
@@ -419,10 +419,10 @@ enum lfs3_btype {
#define LFS3_GC_CKMETA 0x00001000 // Check metadata checksums
#define LFS3_GC_CKDATA 0x00002000 // Check metadata + data checksums
// an alias for ck work
// an alias for all check work
#define LFS3_GC_CK (LFS3_GC_CKMETA | LFS3_GC_CKDATA)
// an alias for all possible gc work
// an alias for all gc work
#define LFS3_GC_GC ( \
LFS3_IFDEF_RDONLY(0, LFS3_GC_MKCONSISTENT) \
| LFS3_IFDEF_RDONLY(0, LFS3_GC_LOOKAHEAD) \