OSDN Git Service

staging: erofs: removing an extra call to iloc() in fill_inode()
authorPratik Shinde <pratikshinde320@gmail.com>
Tue, 13 Aug 2019 20:38:40 +0000 (02:08 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 15 Aug 2019 12:20:31 +0000 (14:20 +0200)
in fill_inode() we call iloc() twice.Avoiding the extra call by
storing the result.

Signed-off-by: Pratik Shinde <pratikshinde320@gmail.com>
Reviewed-by: Chao Yu <yuchao0@huawei.com>
Cc: Gao Xiang <gaoxiang25@huawei.com>
Link: https://lore.kernel.org/r/20190813203840.13782-1-pratikshinde320@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/erofs/inode.c

index 2867291..05de023 100644 (file)
@@ -161,11 +161,12 @@ static int fill_inode(struct inode *inode, int isdir)
        int err;
        erofs_blk_t blkaddr;
        unsigned int ofs;
+       erofs_off_t inode_loc;
 
        trace_erofs_fill_inode(inode, isdir);
-
-       blkaddr = erofs_blknr(iloc(sbi, vi->nid));
-       ofs = erofs_blkoff(iloc(sbi, vi->nid));
+       inode_loc = iloc(sbi, vi->nid);
+       blkaddr = erofs_blknr(inode_loc);
+       ofs = erofs_blkoff(inode_loc);
 
        debugln("%s, reading inode nid %llu at %u of blkaddr %u",
                __func__, vi->nid, ofs, blkaddr);