Yes we need that patch. The commit description is misleading, as this
commit actually fixes a bug on data corruption for SCSI devices.

In the latest Ubuntu 4.15 kernel, __blk_mq_try_issue_directly() (in
"block/blk-mq.c") calls blk_mq_sched_insert_request() if
q->mq_ops->queue_rq() returns BLK_STS_RESOURCE, this is not correct and
is prone to data corruption.

The c616cbee97ae  has the following change:

@@ -1785,7 +1764,7 @@ static blk_status_t __blk_mq_try_issue_directly(struct 
blk_mq_hw_ctx *hctx,
        if (bypass_insert)
                return BLK_STS_RESOURCE;

-       blk_mq_sched_insert_request(rq, false, run_queue, false);
+       blk_mq_request_bypass_insert(rq, run_queue);
        return BLK_STS_OK;
 }

This change is subtle, now the I/O will not get merged with other
pending I/O if a direct issue has failed. This fixed the data corruption
for SCSI devices. The bug was not introduced by commit ffe81d45322c.

I recommend them pick up all the relevant patches leading to this
commit. If this is difficult we can do a special back ported patch to
change the code in __blk_mq_try_issue_directly() to handle requeue.

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux-azure in Ubuntu.
https://bugs.launchpad.net/bugs/1848739

Title:
  [linux-azure] Patch to prevent possible data corruption

Status in linux-azure package in Ubuntu:
  New

Bug description:
  There are three patches that prevent possible data corruption.  The
  three commits are:

  aef1897cd36d ("blk-mq: insert rq with DONTPREP to hctx dispatch list when 
requeue")
  c616cbee97ae ("blk-mq: punt failed direct issue to dispatch list")
  923218f6166a ("blk-mq: don't allocate driver tag upfront for flush rq")

  18.04 has all three of these patches.  16.04 has two out of the three,
  but it is missing commit c616cbee97ae.

  We would like to request commit c616cbee97ae be included in the 16.04 kernel:
  c616cbee97ae ("blk-mq: punt failed direct issue to dispatch list")

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux-azure/+bug/1848739/+subscriptions

-- 
Mailing list: https://launchpad.net/~kernel-packages
Post to     : kernel-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kernel-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to