erofs-utils: simplify iloc()
authorJingbo Xu <jefflexu@linux.alibaba.com>
Wed, 19 Jul 2023 07:33:18 +0000 (15:33 +0800)
committerGao Xiang <hsiangkao@linux.alibaba.com>
Sat, 22 Jul 2023 06:09:05 +0000 (14:09 +0800)
Let's follow kernel commit b780d3fc6107 ("erofs: simplify iloc()") by
passing in inodes directly to clean up all callers.  Also rename iloc()
as erofs_iloc().

Signed-off-by: Jingbo Xu <jefflexu@linux.alibaba.com>
Link: https://lore.kernel.org/r/20230719073319.27996-2-jefflexu@linux.alibaba.com
Signed-off-by: Gao Xiang <hsiangkao@linux.alibaba.com>
fsck/main.c
include/erofs/internal.h
lib/data.c
lib/namei.c
lib/xattr.c
lib/zmap.c

index 608635ebb1be312a1ea0697eba415dfc97514ae3..aabfda4d7a22172af50ffbcf7472426677de98d2 100644 (file)
@@ -325,7 +325,7 @@ static int erofs_verify_xattr(struct erofs_inode *inode)
                }
        }
 
-       addr = iloc(inode->nid) + inode->inode_isize;
+       addr = erofs_iloc(inode) + inode->inode_isize;
        ret = dev_read(0, buf, addr, xattr_hdr_size);
        if (ret < 0) {
                erofs_err("failed to read xattr header @ nid %llu: %d",
index 46690f516cb3da4b6f5e776c5e04236e8d740271..93e3a0bac753067fab57df81c753dfdc2d32d4be 100644 (file)
@@ -103,11 +103,6 @@ struct erofs_sb_info {
 /* make sure that any user of the erofs headers has atleast 64bit off_t type */
 extern int erofs_assert_largefile[sizeof(off_t)-8];
 
-static inline erofs_off_t iloc(erofs_nid_t nid)
-{
-       return erofs_pos(sbi.meta_blkaddr) + (nid << sbi.islotbits);
-}
-
 #define EROFS_FEATURE_FUNCS(name, compat, feature) \
 static inline bool erofs_sb_has_##name(void) \
 { \
@@ -219,6 +214,11 @@ struct erofs_inode {
        unsigned int fragment_size;
 };
 
+static inline erofs_off_t erofs_iloc(struct erofs_inode *inode)
+{
+       return erofs_pos(sbi.meta_blkaddr) + (inode->nid << sbi.islotbits);
+}
+
 static inline bool is_inode_layout_compression(struct erofs_inode *inode)
 {
        return erofs_inode_is_data_compressed(inode->datalayout);
index 612112a9e704bf6738dcb941c1c6b853efc4a980..86e28d9f81b8f9f6c5c328b00c8d79b76ca7132d 100644 (file)
@@ -33,7 +33,7 @@ static int erofs_map_blocks_flatmode(struct erofs_inode *inode,
                map->m_plen = erofs_pos(lastblk) - offset;
        } else if (tailendpacking) {
                /* 2 - inode inline B: inode, [xattrs], inline last blk... */
-               map->m_pa = iloc(vi->nid) + vi->inode_isize +
+               map->m_pa = erofs_iloc(vi) + vi->inode_isize +
                        vi->xattr_isize + erofs_blkoff(map->m_la);
                map->m_plen = inode->i_size - offset;
 
@@ -89,7 +89,7 @@ int erofs_map_blocks(struct erofs_inode *inode,
                unit = EROFS_BLOCK_MAP_ENTRY_SIZE;      /* block map */
 
        chunknr = map->m_la >> vi->u.chunkbits;
-       pos = roundup(iloc(vi->nid) + vi->inode_isize +
+       pos = roundup(erofs_iloc(vi) + vi->inode_isize +
                      vi->xattr_isize, unit) + unit * chunknr;
 
        err = blk_read(0, buf, erofs_blknr(pos), 1);
index 37517419844675183c34b16f736cf0e542ccd42e..423c1ddc999f8ce8dc0a8a94569e1eb86ddeb5f5 100644 (file)
@@ -28,7 +28,7 @@ int erofs_read_inode_from_disk(struct erofs_inode *vi)
        char buf[sizeof(struct erofs_inode_extended)];
        struct erofs_inode_compact *dic;
        struct erofs_inode_extended *die;
-       const erofs_off_t inode_loc = iloc(vi->nid);
+       const erofs_off_t inode_loc = erofs_iloc(vi);
 
        ret = dev_read(0, buf, inode_loc, sizeof(*dic));
        if (ret < 0)
index 87a95c7c388aa021ca131c1af5ac6d5879072c22..9e839353f8711fc780ffd3635796d8d16cd96839 100644 (file)
@@ -871,8 +871,8 @@ static int init_inode_xattrs(struct erofs_inode *vi)
                return -ENOATTR;
        }
 
-       it.blkaddr = erofs_blknr(iloc(vi->nid) + vi->inode_isize);
-       it.ofs = erofs_blkoff(iloc(vi->nid) + vi->inode_isize);
+       it.blkaddr = erofs_blknr(erofs_iloc(vi) + vi->inode_isize);
+       it.ofs = erofs_blkoff(erofs_iloc(vi) + vi->inode_isize);
 
        ret = blk_read(0, it.page, it.blkaddr, 1);
        if (ret < 0)
@@ -962,8 +962,8 @@ static int inline_xattr_iter_pre(struct xattr_iter *it,
 
        inline_xattr_ofs = vi->inode_isize + xattr_header_sz;
 
-       it->blkaddr = erofs_blknr(iloc(vi->nid) + inline_xattr_ofs);
-       it->ofs = erofs_blkoff(iloc(vi->nid) + inline_xattr_ofs);
+       it->blkaddr = erofs_blknr(erofs_iloc(vi) + inline_xattr_ofs);
+       it->ofs = erofs_blkoff(erofs_iloc(vi) + inline_xattr_ofs);
 
        ret = blk_read(0, it->page, it->blkaddr, 1);
        if (ret < 0)
index 209b5d7829585a4ffb83560053cf55af8d10809e..7428d115fb106a262f9cec3462e5c6b45547642c 100644 (file)
@@ -39,7 +39,7 @@ static int z_erofs_fill_inode_lazy(struct erofs_inode *vi)
        if (vi->flags & EROFS_I_Z_INITED)
                return 0;
 
-       pos = round_up(iloc(vi->nid) + vi->inode_isize + vi->xattr_isize, 8);
+       pos = round_up(erofs_iloc(vi) + vi->inode_isize + vi->xattr_isize, 8);
        ret = dev_read(0, buf, pos, sizeof(buf));
        if (ret < 0)
                return -EIO;
@@ -143,7 +143,7 @@ static int legacy_load_cluster_from_disk(struct z_erofs_maprecorder *m,
                                         unsigned long lcn)
 {
        struct erofs_inode *const vi = m->inode;
-       const erofs_off_t ibase = iloc(vi->nid);
+       const erofs_off_t ibase = erofs_iloc(vi);
        const erofs_off_t pos = Z_EROFS_FULL_INDEX_ALIGN(ibase +
                        vi->inode_isize + vi->xattr_isize) +
                lcn * sizeof(struct z_erofs_lcluster_index);
@@ -342,7 +342,7 @@ static int compacted_load_cluster_from_disk(struct z_erofs_maprecorder *m,
 {
        struct erofs_inode *const vi = m->inode;
        const unsigned int lclusterbits = vi->z_logical_clusterbits;
-       const erofs_off_t ebase = round_up(iloc(vi->nid) + vi->inode_isize +
+       const erofs_off_t ebase = round_up(erofs_iloc(vi) + vi->inode_isize +
                                           vi->xattr_isize, 8) +
                sizeof(struct z_erofs_map_header);
        const unsigned int totalidx = BLK_ROUND_UP(vi->i_size);