On 2018/12/19 20:23, Gao Xiang wrote: > remove some duplicated definitions and > keep these in line with kernel names. > > Signed-off-by: Gao Xiang <gaoxian...@huawei.com> > --- > v1 -> v2: > - fix compilation > > erofs_cache.c | 11 ++++------- > erofs_io.c | 3 +-- > mkfs_erofs.h | 24 ++++++++++-------------- > mkfs_file.c | 4 ++-- > mkfs_inode.c | 28 ++++++++++++++-------------- > mkfs_main.c | 6 +++--- > 6 files changed, 34 insertions(+), 42 deletions(-) > > diff --git a/erofs_cache.c b/erofs_cache.c > index 5b80592..cfecd7f 100644 > --- a/erofs_cache.c > +++ b/erofs_cache.c > @@ -45,10 +45,10 @@ u32 erofs_alloc_blocks(u32 nblocks) > devlen = dev_length(); > if (erofs_current_block > (u64)UINT32_MAX || > erofs_current_block + nblocks > ((u64)UINT32_MAX) + 1 || > - (erofs_current_block + nblocks) << EROFS_BLOCKSIZE_BITS > devlen) { > + blknr_to_addr(erofs_current_block + nblocks) > devlen) { > erofs_err("There is no enough free space(curr: %llu, need: %u, > device blocks: %llu).", > (unsigned long long)erofs_current_block, nblocks, > - (unsigned long long)devlen >> EROFS_BLOCKSIZE_BITS); > + (unsigned long long)erofs_blknr(devlen)); > return 0; > } > > @@ -143,7 +143,6 @@ int erofs_flush_all_blocks(void) > char *pbuf; > int count; > int ret; > - u32 addr; > > erofs_blk_buf = malloc(EROFS_BLKSIZE); > if (!erofs_blk_buf) > @@ -175,10 +174,8 @@ int erofs_flush_all_blocks(void) > pbuf += count; > } > > - addr = blk->bb_blkaddr; > - > - ret = dev_write( > - erofs_blk_buf, BLKNO_TO_ADDR(addr), EROFS_BLKSIZE); > + ret = dev_write(erofs_blk_buf, > + blknr_to_addr(blk->bb_blkaddr), EROFS_BLKSIZE); > if (ret) > break; > } > diff --git a/erofs_io.c b/erofs_io.c > index 8112ade..57e283e 100644 > --- a/erofs_io.c > +++ b/erofs_io.c > @@ -155,8 +155,7 @@ int dev_write_block(void *buf, u32 blkaddr) > { > erofs_info("Write data to block %u", blkaddr); > > - return dev_write(buf, ((off64_t)blkaddr) << EROFS_BLOCKSIZE_BITS, > - EROFS_BLKSIZE); > + return dev_write(buf, blknr_to_addr(blkaddr), EROFS_BLKSIZE); > } > > int dev_fsync(void) > diff --git a/mkfs_erofs.h b/mkfs_erofs.h > index be6305e..7fdc4c5 100644 > --- a/mkfs_erofs.h > +++ b/mkfs_erofs.h > @@ -9,6 +9,7 @@ > */ > #ifndef __EROFS_MKFS_H > #define __EROFS_MKFS_H > + > #include <linux/limits.h> > #include "list_head.h" > #include "erofs_types.h" > @@ -19,19 +20,11 @@ typedef unsigned int __u32; > > #include "erofs_fs.h" > > -#ifndef PAGE_SIZE > -#define PAGE_SIZE (4096) > -#endif > - > -#ifndef EROFS_BLKSIZE > +#define LOG_BLOCK_SIZE (12) > #define EROFS_BLKSIZE (4096) > -#define EROFS_BLOCKSIZE_BITS (12) > -#endif > > -#define EROFS_BLOCK_SIZE_SHIFT_BITS (12) > #define EROFS_SLOTSIZE_BITS (5) > #define EROFS_SLOTSIZE (32) > -#define MKFS_DIFF_SHIFT_8_BITS (8) > > #define __round_mask(x, y) ((__typeof__(x))((y)-1)) > #define round_up(x, y) ((((x)-1) | __round_mask(x, y))+1) > @@ -39,16 +32,19 @@ typedef unsigned int __u32; > > #define SIZE_ALIGN(val, size) (((val) + (size) - 1) & (~(size-1))) > #define SLOT_ALIGN(slots) SIZE_ALIGN(slots, EROFS_SLOTSIZE) > -#define PAGE_ALIGN(pages) SIZE_ALIGN(pages, PAGE_SIZE) > #define BLK_ALIGN(blks) SIZE_ALIGN(blks, EROFS_BLKSIZE) > #define IS_SLOT_ALIGN(__ADDR) (((__ADDR)%(EROFS_SLOTSIZE))?0:1) > #define IS_BLK_ALIGN(__ADDR) (((__ADDR)%(EROFS_BLKSIZE))?0:1) > -#define ADDR_TO_BLKNO(__ADDR) ((__ADDR) >> EROFS_BLOCKSIZE_BITS) > -#define BLKNO_TO_ADDR(__ADDR) ((u64)(__ADDR) << EROFS_BLOCKSIZE_BITS) > #define MAX_NID_INDEX_PER_BLK (EROFS_BLKSIZE / EROFS_SLOTSIZE) > > -#define EROFS_INODE_V1_SIZE sizeof(struct erofs_inode_v1) > -#define EROFS_INODE_V2_SIZE sizeof(struct erofs_inode_v2) > +typedef u64 erofs_off_t; > + > +/* data type for filesystem-wide blocks number */ > +typedef u32 erofs_blk_t; > + > +#define erofs_blknr(addr) ((addr) / EROFS_BLKSIZE) > +#define erofs_blkoff(addr) ((addr) % EROFS_BLKSIZE) > +#define blknr_to_addr(nr) ((erofs_off_t)(nr) * EROFS_BLKSIZE) > > #define EROFS_DIRENT_SIZE sizeof(struct erofs_dirent) > > diff --git a/mkfs_file.c b/mkfs_file.c > index 634208e..9aa62e2 100644 > --- a/mkfs_file.c > +++ b/mkfs_file.c > @@ -437,7 +437,7 @@ static int erofs_compress_noinline_file_data(struct > erofs_compr_info *cinfo, > else > cross = end - start; > > - clusterofs = pos % PAGE_SIZE; > + clusterofs = pos % EROFS_BLKSIZE; > delta = 0; > > /* > @@ -508,7 +508,7 @@ int erofs_write_compress_data(struct erofs_compr_ctx > *cctx) > if (!blkaddr) > return -ENOSPC; > > - ret = dev_write(cctx->cc_dstbuf, BLKNO_TO_ADDR(blkaddr), > + ret = dev_write(cctx->cc_dstbuf, blknr_to_addr(blkaddr), > cctx->cc_dstlen); > > if (ret) > diff --git a/mkfs_inode.c b/mkfs_inode.c > index 102fa55..db8e586 100644 > --- a/mkfs_inode.c > +++ b/mkfs_inode.c > @@ -38,9 +38,9 @@ u32 erofs_calc_inode_base_size(struct erofs_node_info > *inode) > u32 size; > > if (inode->i_iver == EROFS_INODE_LAYOUT_V1) > - size = EROFS_INODE_V1_SIZE; > + size = sizeof(struct erofs_inode_v1); > else > - size = EROFS_INODE_V2_SIZE; > + size = sizeof(struct erofs_inode_v2); > > return size; > } > @@ -184,7 +184,7 @@ void mkfs_rank_inode(struct erofs_node_info *inode) > node->m_slot = blk->bb_free_slot; > node->m_len = round_up(request_size, EROFS_SLOTSIZE); > list_add_tail(&node->m_node, &blk->bb_metadata_list); > - inode->i_base_addr = BLKNO_TO_ADDR(blk->bb_blkaddr) + > + inode->i_base_addr = blknr_to_addr(blk->bb_blkaddr) + > blk->bb_free_slot * EROFS_SLOTSIZE; > blk->bb_free_slot += node->m_len / EROFS_SLOTSIZE; > next = list_next_entry(blk, bb_global_node); > @@ -393,7 +393,7 @@ static int mkfs_write_inode_dir(struct erofs_node_info > *inode) > > write_dirents(pbuf, sum, start, pos); > ret = dev_write(pbuf, > - BLKNO_TO_ADDR(addr), > + blknr_to_addr(addr), > EROFS_BLKSIZE); > if (ret < 0) { > erofs_err( > @@ -445,7 +445,7 @@ static int mkfs_write_inode_dir(struct erofs_node_info > *inode) > > write_dirents(pbuf, sum, start, pos); > dev_write(pbuf, > - BLKNO_TO_ADDR(addr), > + blknr_to_addr(addr), > EROFS_BLKSIZE); > if (ret < 0) { > erofs_err( > @@ -470,8 +470,8 @@ static int mkfs_write_inode_dir(struct erofs_node_info > *inode) > const u32 addr = inode->i_blkaddr + blk_cnt; > > write_dirents(pbuf, sum, start, pos); > - ret = dev_write( > - pbuf, BLKNO_TO_ADDR(addr), EROFS_BLKSIZE); > + ret = dev_write(pbuf, blknr_to_addr(addr), > + EROFS_BLKSIZE); > if (ret < 0) { > erofs_err("dev_write inode[%s] error[%s]", > inode->i_fullpath, > @@ -536,8 +536,8 @@ static int mkfs_write_inode_regfile(struct > erofs_node_info *inode) > > addr = inode->i_blkaddr + i; > > - ret = dev_write( > - pbuf, BLKNO_TO_ADDR(addr), EROFS_BLKSIZE); > + ret = dev_write(pbuf, blknr_to_addr(addr), > + EROFS_BLKSIZE); > if (ret < 0) { > erofs_err("dev_write inode[%s] ret[%d]", > filepath, > @@ -587,7 +587,7 @@ static int mkfs_write_inode_regfile(struct > erofs_node_info *inode) > addr = inode->i_blkaddr + i; > > ret = dev_write(pbuf, > - BLKNO_TO_ADDR(addr), > + blknr_to_addr(addr), > EROFS_BLKSIZE); > if (ret < 0) { > erofs_err("dev_write inode[%s] ret[%d]", > @@ -657,8 +657,8 @@ static int mkfs_write_inode_symfile(struct > erofs_node_info *inode) > return -errno; > } > > - ret = dev_write( > - pbuf, BLKNO_TO_ADDR(inode->i_blkaddr), EROFS_BLKSIZE); > + ret = dev_write(pbuf, blknr_to_addr(inode->i_blkaddr), > + EROFS_BLKSIZE); > if (ret < 0) { > erofs_err("dev_write inode[%s] error[%s]", > inode->i_fullpath, > @@ -778,7 +778,7 @@ static int erofs_do_write_inode_buffer(struct > erofs_node_info *inode, char *buf) > } > > v1->i_checksum = 0; > - return EROFS_INODE_V1_SIZE; > + return sizeof(*v1); > } > > v2 = (struct erofs_inode_v2 *)buf; > @@ -814,7 +814,7 @@ static int erofs_do_write_inode_buffer(struct > erofs_node_info *inode, char *buf) > } > > v2->i_checksum = 0; > - return EROFS_INODE_V2_SIZE; > + return sizeof(*v2); > } > > int erofs_write_inode_buffer(struct erofs_node_info *inode, char *buf) > diff --git a/mkfs_main.c b/mkfs_main.c > index d26d050..17611f4 100644 > --- a/mkfs_main.c > +++ b/mkfs_main.c > @@ -29,7 +29,7 @@ > > static struct erofs_super_block erosb = { > .magic = cpu_to_le32(EROFS_SUPER_MAGIC_V1), > - .blkszbits = EROFS_BLOCK_SIZE_SHIFT_BITS, > + .blkszbits = LOG_BLOCK_SIZE, > .root_nid = cpu_to_le16(ROOT_INODE_NUM), > .inos = 0, > .blocks = 0, > @@ -128,7 +128,7 @@ void mkfs_update_erofs_header(u64 root_addr) > sb->build_time_nsec = cpu_to_le32(t.tv_usec); > } > > - sb->meta_blkaddr = cpu_to_le32(ADDR_TO_BLKNO(size)); > + sb->meta_blkaddr = cpu_to_le32(erofs_blknr(size)); > sb->blocks = cpu_to_le32(erofs_get_total_blocks()); > sb->root_nid = cpu_to_le16(mkfs_addr_to_nid(root_addr)); > > @@ -163,7 +163,7 @@ int main(int argc, char **argv) > if (err) > goto exit; > > - err = erofs_cache_init(ADDR_TO_BLKNO(BLK_ALIGN(EROFS_SUPER_END))); > + err = erofs_cache_init(erofs_blknr(BLK_ALIGN(EROFS_SUPER_END))); > if (err) > goto exit; >
Reviewed-by: Li Guifu <bluce.ligu...@huawei.com> Thanks,