39 lines
1.3 KiB
Diff
39 lines
1.3 KiB
Diff
From: Yuxuan Shui <yshuiv7@gmail.com>
|
|
To: viro@zeniv.linux.org.uk
|
|
Cc: linux-fsdevel@vger.kernel.org, Yuxuan Shui <yshuiv7@gmail.com>
|
|
Subject: [PATCH] iomap: iomap_bmap should accept unwritten maps
|
|
Date: Tue, 5 May 2020 19:36:08 +0100
|
|
Message-ID: <20200505183608.10280-1-yshuiv7@gmail.com> (raw)
|
|
|
|
commit ac58e4fb03f9d111d733a4ad379d06eef3a24705 moved ext4_bmap from
|
|
generic_block_bmap to iomap_bmap, this introduced a regression which
|
|
prevents some user from using previously working swapfiles. The kernel
|
|
will complain about holes while there is none.
|
|
|
|
What is happening here is that the swapfile has unwritten mappings,
|
|
which is rejected by iomap_bmap, but was accepted by ext4_get_block.
|
|
|
|
This commit makes sure iomap_bmap would accept unwritten mappings as
|
|
well.
|
|
|
|
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
|
|
---
|
|
fs/iomap/fiemap.c | 2 +-
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
|
diff --git a/fs/iomap/fiemap.c b/fs/iomap/fiemap.c
|
|
index d55e8f491a5e..fb488dcfa8c7 100644
|
|
--- a/fs/iomap/fiemap.c
|
|
+++ b/fs/iomap/fiemap.c
|
|
@@ -115,7 +115,7 @@ iomap_bmap_actor(struct inode *inode, loff_t pos, loff_t length,
|
|
{
|
|
sector_t *bno = data, addr;
|
|
|
|
- if (iomap->type == IOMAP_MAPPED) {
|
|
+ if (iomap->type == IOMAP_MAPPED || iomap->type == IOMAP_UNWRITTEN) {
|
|
addr = (pos - iomap->offset + iomap->addr) >> inode->i_blkbits;
|
|
*bno = addr;
|
|
}
|
|
--
|
|
2.26.2
|