iomap: Use round_down/round_up macros in __iomap_write_begin
authorNikolay Borisov <nborisov@suse.com>
Thu, 10 Sep 2020 15:38:06 +0000 (08:38 -0700)
committerDarrick J. Wong <darrick.wong@oracle.com>
Mon, 21 Sep 2020 15:59:25 +0000 (08:59 -0700)
Signed-off-by: Nikolay Borisov <nborisov@suse.com>
Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
fs/iomap/buffered-io.c

index 897ab9a26a74c344083cc75af8b2f4345d4f1f16..2b4757dba825463eb9229b5fc7a62bc754c016c8 100644 (file)
@@ -571,8 +571,8 @@ __iomap_write_begin(struct inode *inode, loff_t pos, unsigned len, int flags,
 {
        struct iomap_page *iop = iomap_page_create(inode, page);
        loff_t block_size = i_blocksize(inode);
-       loff_t block_start = pos & ~(block_size - 1);
-       loff_t block_end = (pos + len + block_size - 1) & ~(block_size - 1);
+       loff_t block_start = round_down(pos, block_size);
+       loff_t block_end = round_up(pos + len, block_size);
        unsigned from = offset_in_page(pos), to = from + len, poff, plen;
 
        if (PageUptodate(page))