gfs2: Replace gfs2_lblk_to_dblk with gfs2_get_extent
authorAndreas Gruenbacher <agruenba@redhat.com>
Sat, 27 Mar 2021 21:05:14 +0000 (22:05 +0100)
committerAndreas Gruenbacher <agruenba@redhat.com>
Sat, 3 Apr 2021 19:38:12 +0000 (21:38 +0200)
We don't need two very similar functions for mapping logical blocks to physical
blocks.

Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
fs/gfs2/bmap.c
fs/gfs2/bmap.h
fs/gfs2/log.c

index ac959a99ea812d7d049b4c0621493169f9e118b4..bad5dc641bbd7a492c10e33ee170274bfbea4822 100644 (file)
@@ -961,30 +961,6 @@ hole_found:
        goto out;
 }
 
-/**
- * gfs2_lblk_to_dblk - convert logical block to disk block
- * @inode: the inode of the file we're mapping
- * @lblock: the block relative to the start of the file
- * @dblock: the returned dblock, if no error
- *
- * This function maps a single block from a file logical block (relative to
- * the start of the file) to a file system absolute block using iomap.
- *
- * Returns: the absolute file system block, or an error
- */
-int gfs2_lblk_to_dblk(struct inode *inode, u32 lblock, u64 *dblock)
-{
-       struct iomap iomap = { };
-       loff_t pos = (loff_t)lblock << inode->i_blkbits;
-       int ret;
-
-       ret = gfs2_iomap_get(inode, pos, i_blocksize(inode), &iomap);
-       if (ret == 0)
-               *dblock = iomap.addr >> inode->i_blkbits;
-
-       return ret;
-}
-
 static int gfs2_write_lock(struct inode *inode)
 {
        struct gfs2_inode *ip = GFS2_I(inode);
index 67ef7cf7fdacc5582fe6cbd4da3db979959adfef..6676d863faef0497a04676e10ed7ee15ed3cc333 100644 (file)
@@ -66,6 +66,5 @@ extern int gfs2_write_alloc_required(struct gfs2_inode *ip, u64 offset,
 extern int gfs2_map_journal_extents(struct gfs2_sbd *sdp, struct gfs2_jdesc *jd);
 extern void gfs2_free_journal_extents(struct gfs2_jdesc *jd);
 extern int __gfs2_punch_hole(struct file *file, loff_t offset, loff_t length);
-extern int gfs2_lblk_to_dblk(struct inode *inode, u32 lblock, u64 *dblock);
 
 #endif /* __BMAP_DOT_H__ */
index 6410281546f924942dd6a3f734a357e8eadd300a..69ddd9518396e362a0d31b2865099defc0bd3057 100644 (file)
@@ -859,7 +859,11 @@ void gfs2_write_log_header(struct gfs2_sbd *sdp, struct gfs2_jdesc *jd,
        if (!list_empty(&jd->extent_list))
                dblock = gfs2_log_bmap(jd, lblock);
        else {
-               int ret = gfs2_lblk_to_dblk(jd->jd_inode, lblock, &dblock);
+               unsigned int extlen;
+               int ret;
+
+               extlen = 1;
+               ret = gfs2_get_extent(jd->jd_inode, lblock, &dblock, &extlen);
                if (gfs2_assert_withdraw(sdp, ret == 0))
                        return;
        }