block/io: Merge discard request alignments
authorAkihiko Odaki <akihiko.odaki@gmail.com>
Mon, 5 Jul 2021 13:04:58 +0000 (22:04 +0900)
committerStefan Hajnoczi <stefanha@redhat.com>
Tue, 6 Jul 2021 13:28:55 +0000 (14:28 +0100)
Signed-off-by: Akihiko Odaki <akihiko.odaki@gmail.com>
Message-id: 20210705130458.97642-3-akihiko.odaki@gmail.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
block/io.c

index cf177a9d2d7b92c7157d717dd8b5546e973302de..e0a689c5842bdda0748f8c60fc9939693903891a 100644 (file)
@@ -125,6 +125,8 @@ void bdrv_parent_drained_begin_single(BdrvChild *c, bool poll)
 
 static void bdrv_merge_limits(BlockLimits *dst, const BlockLimits *src)
 {
+    dst->pdiscard_alignment = MAX(dst->pdiscard_alignment,
+                                  src->pdiscard_alignment);
     dst->opt_transfer = MAX(dst->opt_transfer, src->opt_transfer);
     dst->max_transfer = MIN_NON_ZERO(dst->max_transfer, src->max_transfer);
     dst->max_hw_transfer = MIN_NON_ZERO(dst->max_hw_transfer,