Folded lfsr_ck_t into lfsr_data_t
This reduces lfsr_ck_t to just the cksize/cksum fields, and moves all of
the compile-time ifdef LFS_CKDATACKSUMS logic up into the relevant
lfsr_data_* functions.
This doesn't solve the lfsr_data_t/lfsr_bptr_t duplication problem,
unfortunately, but does simplify the code base a bit.
No significant code changes:
code stack ctx
default before: 38128 2624 752
default after: 38128 (+0.0%) 2624 (+0.0%) 752 (+0.0%)
ckdatacksums before: 39240 3008 752
ckdatacksums after: 39232 (-0.0%) 3008 (+0.0%) 752 (+0.0%)
This commit is contained in:
@@ -612,16 +612,6 @@ typedef struct lfsr_omdir {
|
||||
// lfs_block_t tail[2];
|
||||
//} lfs_mdir_t;
|
||||
|
||||
#ifdef LFS_CKDATACKSUMS
|
||||
// context for validating data
|
||||
typedef struct lfsr_ck {
|
||||
// cksize=0 => no checksum
|
||||
// cksize>0 => yes checksum
|
||||
lfs_size_t cksize;
|
||||
uint32_t cksum;
|
||||
} lfsr_ck_t;
|
||||
#endif
|
||||
|
||||
// either an on-disk or in-device data pointer
|
||||
typedef struct lfsr_data {
|
||||
// sign(size)=0 => in-RAM buffer
|
||||
@@ -632,8 +622,12 @@ typedef struct lfsr_data {
|
||||
struct {
|
||||
lfs_block_t block;
|
||||
lfs_size_t off;
|
||||
// optional context for validating data
|
||||
#ifdef LFS_CKDATACKSUMS
|
||||
lfsr_ck_t ck;
|
||||
// cksize==0 => no checksum
|
||||
// cksize!=0 => yes checksum
|
||||
lfs_size_t cksize;
|
||||
uint32_t cksum;
|
||||
#endif
|
||||
} disk;
|
||||
} u;
|
||||
|
||||
Reference in New Issue
Block a user