Tweaked lfs_fsinfo block_size/block_count fields
Mainly to match superblock ordering and emphasize these are logical blocks.
This commit is contained in:
parent
127d84b681
commit
2c222af17d
10
lfs.c
10
lfs.c
|
@ -46,7 +46,8 @@ static int lfs_bd_read(lfs_t *lfs,
|
|||
lfs_block_t block, lfs_off_t off,
|
||||
void *buffer, lfs_size_t size) {
|
||||
uint8_t *data = buffer;
|
||||
if (off+size > lfs->cfg->block_size || (lfs->block_count && block >= lfs->block_count)) {
|
||||
if (off+size > lfs->cfg->block_size
|
||||
|| (lfs->block_count && block >= lfs->block_count)) {
|
||||
return LFS_ERR_CORRUPT;
|
||||
}
|
||||
|
||||
|
@ -4509,14 +4510,15 @@ static int lfs_fs_rawstat(lfs_t *lfs, struct lfs_fsinfo *fsinfo) {
|
|||
fsinfo->disk_version = superblock.version;
|
||||
}
|
||||
|
||||
// filesystem geometry
|
||||
fsinfo->block_size = lfs->cfg->block_size;
|
||||
fsinfo->block_count = lfs->block_count;
|
||||
|
||||
// other on-disk configuration, we cache all of these for internal use
|
||||
fsinfo->name_max = lfs->name_max;
|
||||
fsinfo->file_max = lfs->file_max;
|
||||
fsinfo->attr_max = lfs->attr_max;
|
||||
|
||||
fsinfo->block_count = lfs->block_count;
|
||||
fsinfo->block_size = lfs->cfg->block_size;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
16
lfs.h
16
lfs.h
|
@ -293,6 +293,12 @@ struct lfs_fsinfo {
|
|||
// On-disk version.
|
||||
uint32_t disk_version;
|
||||
|
||||
// Size of a logical block in bytes.
|
||||
lfs_size_t block_size;
|
||||
|
||||
// Number of logical blocks in filesystem.
|
||||
lfs_size_t block_count;
|
||||
|
||||
// Upper limit on the length of file names in bytes.
|
||||
lfs_size_t name_max;
|
||||
|
||||
|
@ -301,13 +307,6 @@ struct lfs_fsinfo {
|
|||
|
||||
// Upper limit on the size of custom attributes in bytes.
|
||||
lfs_size_t attr_max;
|
||||
|
||||
// Number of blocks in filesystem.
|
||||
// May differ from cfg->block_count if autodetected from filesystem.
|
||||
lfs_size_t block_count;
|
||||
|
||||
// Size of block in bytes.
|
||||
lfs_size_t block_size;
|
||||
};
|
||||
|
||||
// Custom attribute structure, used to describe custom attributes
|
||||
|
@ -440,12 +439,11 @@ typedef struct lfs {
|
|||
} free;
|
||||
|
||||
const struct lfs_config *cfg;
|
||||
lfs_size_t block_count;
|
||||
lfs_size_t name_max;
|
||||
lfs_size_t file_max;
|
||||
lfs_size_t attr_max;
|
||||
|
||||
lfs_size_t block_count;
|
||||
|
||||
#ifdef LFS_MIGRATE
|
||||
struct lfs1 *lfs1;
|
||||
#endif
|
||||
|
|
Loading…
Reference in New Issue