Adopted LFS3_*_CK and LFS3_*_GC aliases, replacing LFS3_GC_ALL
This extends the hopefully useful LFS3_GC_ALL flag alias to the other functions, without trying to figure out what the heck LFS3_M_ALL should mean semantically. Current definitions: // an alias for ck work *_CK 0x00003000 ---- ---- ---- ---- --11 ---- ---- ---- // an alias for all possible gc work *_GC 0x00003b00 ---- ---- ---- ---- ++11 11+1 ---- ---- *_MKCONSISTENT 0x00000100 ---- ---- ---- ---- ---- ---1 ---- ---- *_LOOKAHEAD 0x00000200 ---- ---- ---- ---- ---- --1- ---- ---- *_PREERASE+ 0x00000400 ---- ---- ---- ---- ---- -+-- ---- ---- *_COMPACT 0x00000800 ---- ---- ---- ---- ---- 1--- ---- ---- *_CKMETA 0x00001000 ---- ---- ---- ---- ---1 ---- ---- ---- *_CKDATA 0x00002000 ---- ---- ---- ---- --1- ---- ---- ---- *_REPAIRMETA+ 0x00004000 ---- ---- ---- ---- -+-- ---- ---- ---- *_REPAIRDATA+ 0x00008000 ---- ---- ---- ---- +--- ---- ---- ---- + Planned One weird artifact of this is that LFS3_GC_CK ~= LFS3_GC_CKDATA, but I'm not sure that's a bad thing? Note this is very much not true for info flags, LFS3_I_CK != LFS3_I_CKDATA. No code changes.
This commit is contained in:
@@ -153,6 +153,9 @@ 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
|
||||
#define LFS3_O_CK (LFS3_O_CKMETA | LFS3_O_CKDATA)
|
||||
|
||||
// File seek flags
|
||||
#define LFS3_SEEK_SET 0 // Seek relative to an absolute position
|
||||
#define LFS3_SEEK_CUR 1 // Seek relative to the current file position
|
||||
@@ -218,6 +221,17 @@ enum lfs3_type {
|
||||
#define LFS3_F_CKDATA 0x00002000 // Check metadata + data checksums
|
||||
#endif
|
||||
|
||||
// an alias for ck work
|
||||
#define LFS3_F_CK (LFS3_F_CKMETA | LFS3_F_CKDATA)
|
||||
|
||||
// an alias for all possible gc work
|
||||
#define LFS3_F_GC ( \
|
||||
LFS3_IFDEF_RDONLY(0, LFS3_F_MKCONSISTENT) \
|
||||
| LFS3_IFDEF_RDONLY(0, LFS3_F_LOOKAHEAD) \
|
||||
| LFS3_IFDEF_RDONLY(0, LFS3_F_COMPACT) \
|
||||
| LFS3_F_CKMETA \
|
||||
| LFS3_F_CKDATA)
|
||||
|
||||
// Filesystem mount flags
|
||||
#define LFS3_M_MODE 1 // Mount's access mode
|
||||
#ifndef LFS3_RDONLY
|
||||
@@ -261,6 +275,17 @@ 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
|
||||
#define LFS3_M_CK (LFS3_M_CKMETA | LFS3_M_CKDATA)
|
||||
|
||||
// an alias for all possible gc work
|
||||
#define LFS3_M_GC ( \
|
||||
LFS3_IFDEF_RDONLY(0, LFS3_M_MKCONSISTENT) \
|
||||
| LFS3_IFDEF_RDONLY(0, LFS3_M_LOOKAHEAD) \
|
||||
| LFS3_IFDEF_RDONLY(0, LFS3_M_COMPACT) \
|
||||
| LFS3_M_CKMETA \
|
||||
| LFS3_M_CKDATA)
|
||||
|
||||
// Filesystem info flags
|
||||
#define LFS3_I_RDONLY 0x00000001 // Mounted read only
|
||||
#ifdef LFS3_GBMAP
|
||||
@@ -342,6 +367,17 @@ 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
|
||||
#define LFS3_T_CK (LFS3_T_CKMETA | LFS3_T_CKDATA)
|
||||
|
||||
// an alias for all possible gc work
|
||||
#define LFS3_T_GC ( \
|
||||
LFS3_IFDEF_RDONLY(0, LFS3_T_MKCONSISTENT) \
|
||||
| LFS3_IFDEF_RDONLY(0, LFS3_T_LOOKAHEAD) \
|
||||
| LFS3_IFDEF_RDONLY(0, LFS3_T_COMPACT) \
|
||||
| LFS3_T_CKMETA \
|
||||
| LFS3_T_CKDATA)
|
||||
|
||||
// File/filesystem check flags
|
||||
#ifndef LFS3_RDONLY
|
||||
#define LFS3_CK_MKCONSISTENT \
|
||||
@@ -357,6 +393,17 @@ 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
|
||||
#define LFS3_CK_CK (LFS3_CK_CKMETA | LFS3_CK_CKDATA)
|
||||
|
||||
// an alias for all possible gc work
|
||||
#define LFS3_CK_GC ( \
|
||||
LFS3_IFDEF_RDONLY(0, LFS3_CK_MKCONSISTENT) \
|
||||
| LFS3_IFDEF_RDONLY(0, LFS3_CK_LOOKAHEAD) \
|
||||
| LFS3_IFDEF_RDONLY(0, LFS3_CK_COMPACT) \
|
||||
| LFS3_CK_CKMETA \
|
||||
| LFS3_CK_CKDATA)
|
||||
|
||||
// GC flags
|
||||
#ifndef LFS3_RDONLY
|
||||
#define LFS3_GC_MKCONSISTENT \
|
||||
@@ -372,8 +419,11 @@ enum lfs3_btype {
|
||||
#define LFS3_GC_CKMETA 0x00001000 // Check metadata checksums
|
||||
#define LFS3_GC_CKDATA 0x00002000 // Check metadata + data checksums
|
||||
|
||||
// an alias for all possible GC work
|
||||
#define LFS3_GC_ALL ( \
|
||||
// an alias for ck work
|
||||
#define LFS3_GC_CK (LFS3_GC_CKMETA | LFS3_GC_CKDATA)
|
||||
|
||||
// an alias for all possible gc work
|
||||
#define LFS3_GC_GC ( \
|
||||
LFS3_IFDEF_RDONLY(0, LFS3_GC_MKCONSISTENT) \
|
||||
| LFS3_IFDEF_RDONLY(0, LFS3_GC_LOOKAHEAD) \
|
||||
| LFS3_IFDEF_RDONLY(0, LFS3_GC_COMPACT) \
|
||||
|
||||
@@ -114,7 +114,7 @@ void bench_permutation(size_t i, uint32_t *buffer, size_t size);
|
||||
BENCH_DEFINE(PCACHE_SIZE, LFS3_MAX(16, PROG_SIZE) ) \
|
||||
BENCH_DEFINE(FCACHE_SIZE, 16 ) \
|
||||
BENCH_DEFINE(LOOKAHEAD_SIZE, 16 ) \
|
||||
BENCH_DEFINE(GC_FLAGS, LFS3_GC_ALL ) \
|
||||
BENCH_DEFINE(GC_FLAGS, LFS3_GC_GC ) \
|
||||
BENCH_DEFINE(GC_STEPS, 0 ) \
|
||||
BENCH_DEFINE(GC_LOOKAHEAD_THRESH, -1 ) \
|
||||
BENCH_DEFINE(GC_LOOKGBMAP_THRESH, -1 ) \
|
||||
|
||||
@@ -105,7 +105,7 @@ void test_permutation(size_t i, uint32_t *buffer, size_t size);
|
||||
TEST_DEFINE(PCACHE_SIZE, LFS3_MAX(16, PROG_SIZE) ) \
|
||||
TEST_DEFINE(FCACHE_SIZE, 16 ) \
|
||||
TEST_DEFINE(LOOKAHEAD_SIZE, 16 ) \
|
||||
TEST_DEFINE(GC_FLAGS, LFS3_GC_ALL ) \
|
||||
TEST_DEFINE(GC_FLAGS, LFS3_GC_GC ) \
|
||||
TEST_DEFINE(GC_STEPS, 0 ) \
|
||||
TEST_DEFINE(GC_LOOKAHEAD_THRESH, -1 ) \
|
||||
TEST_DEFINE(GC_LOOKGBMAP_THRESH, -1 ) \
|
||||
|
||||
Reference in New Issue
Block a user