[prev in list] [next in list] [prev in thread] [next in thread]
List: openvz-devel
Subject: [Devel] [PATCH RH7] ploop: Inherit stacking limits for ext4 over io_kaio
From: Kirill Tkhai <ktkhai () virtuozzo ! com>
Date: 2020-06-22 13:54:14
Message-ID: 159283405130.399119.7626127610009182628.stgit () localhost ! localdomain
[Download RAW message or body]
Otherwise, a bio that bigger then the underlining blockdev,
may be submitted:
bio too big device dm-0 (2048 > 512)
EXT4-fs warning (device ploop26646p1): ext4_end_bio:302: I/O error -5
writing to inode 137338 (offset 0 size 0 starting block 233984)
Buffer I/O error on device ploop26646p1, logical block 233728
Signed-off-by: Kirill Tkhai <ktkhai@virtuozzo.com>
---
drivers/block/ploop/io_kaio.c | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/drivers/block/ploop/io_kaio.c b/drivers/block/ploop/io_kaio.c
index 38b807b9253a..6d6517dcf2e5 100644
--- a/drivers/block/ploop/io_kaio.c
+++ b/drivers/block/ploop/io_kaio.c
@@ -1122,6 +1122,16 @@ static void kaio_unplug(struct ploop_io * io)
static void kaio_queue_settings(struct ploop_io * io, struct request_queue * q)
{
+ struct file *file = io->files.file;
+ struct inode *inode = file->f_mapping->host;
+
+ if (inode->i_sb->s_magic == EXT4_SUPER_MAGIC) {
+ WARN_ON(!kaio_backed_ext4);
+ blk_queue_stack_limits(q, bdev_get_queue(io->files.bdev));
+ ploop_set_discard_limits(io->plo);
+ return;
+ }
+
blk_set_stacking_limits(&q->limits);
/*
* Maintaince mode based discard splits a big bio itself,
_______________________________________________
Devel mailing list
Devel@openvz.org
https://lists.openvz.org/mailman/listinfo/devel
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic