diff options
author | dingjingmaster | 2020-09-24 20:40:56 +0800 |
---|---|---|
committer | dingjingmaster | 2020-09-24 20:40:56 +0800 |
commit | 1872ea3a3b8c1bc9f696c250675064569e438f2b (patch) | |
tree | 0777f88509464742455290aa77923bd182ad52bf /0102-iomap-iomap_bmap-should-accept-unwritten-maps.patch | |
download | aur-1872ea3a3b8c1bc9f696c250675064569e438f2b.tar.gz |
yay
Diffstat (limited to '0102-iomap-iomap_bmap-should-accept-unwritten-maps.patch')
-rw-r--r-- | 0102-iomap-iomap_bmap-should-accept-unwritten-maps.patch | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/0102-iomap-iomap_bmap-should-accept-unwritten-maps.patch b/0102-iomap-iomap_bmap-should-accept-unwritten-maps.patch new file mode 100644 index 000000000000..9ca50277e88c --- /dev/null +++ b/0102-iomap-iomap_bmap-should-accept-unwritten-maps.patch @@ -0,0 +1,38 @@ +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 |