From a1629790af4de56198290d469d7fef9106507911 Mon Sep 17 00:00:00 2001 From: Michal Mielewczyk Date: Fri, 20 Sep 2024 09:25:52 +0200 Subject: [PATCH] Restore the explanation for NOMERGES flag The comment was remved in 1e5355eba1fe81154088622ed1274dc2ac13cb Signed-off-by: Michal Mielewczyk --- configure.d/1_queue_limits.conf | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/configure.d/1_queue_limits.conf b/configure.d/1_queue_limits.conf index a9059bc..1f9149b 100644 --- a/configure.d/1_queue_limits.conf +++ b/configure.d/1_queue_limits.conf @@ -49,6 +49,14 @@ apply() { exp_q->limits.max_write_same_sectors = 0; }" + # A workaround for RHEL/CentOS 7.3 bug in kernel. + # Merging implementation on blk-mq does not respect virt boundary + # restriction and front merges bios with non-zero offsets. + # This leads to request with gaps between bios and in consequence + # triggers BUG_ON() in nvme driver or silently corrupts data. + # To prevent this, disable merging on cache queue if there are + # requirements regarding virt boundary (marking bios with REQ_NOMERGE + # does not solve this problem). add_function " static inline void cas_cache_set_no_merges_flag(struct request_queue *cache_q) {