linux-ext4.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: bugzilla-daemon@bugzilla.kernel.org
To: linux-ext4@vger.kernel.org
Subject: [Bug 201685] ext4 file system corruption
Date: Tue, 04 Dec 2018 21:43:30 +0000	[thread overview]
Message-ID: <bug-201685-13602-xVRIooH3TV@https.bugzilla.kernel.org/> (raw)
In-Reply-To: <bug-201685-13602@https.bugzilla.kernel.org/>

https://bugzilla.kernel.org/show_bug.cgi?id=201685

--- Comment #245 from Jens Axboe (axboe@kernel.dk) ---
I've only reproduced it that one time, but here's what I think is happening:

- Usually a request is queued, inserted into the blk-mq proper

- There's an optimization in place to attempt to issue to the driver directly
before doing that insert. If we fail because of some resource limitation, we
insert the request into blk-mq proper

- But if that failure did trigger, SCSI has already setup the command. This
means we now have a request in the regular blk-mq IO lists that is mergeable
with other commands, but where the SG tables for IO have already been setup.

- If we later do merge with this IO before dispatch, we'll only do DMA to the
original part of the request. This makes the rest very unhappy...

The case is different because from normal dispatch, if IO needs to be requeued,
it will NEVER be merged/changed after the fact. This means that we don't have
to release SG tables/mappings, we can simply reissue later.

This is just a theory... If I could reproduce more reliably, I'd verify it. I'm
going to spin a quick patch.

-- 
You are receiving this mail because:
You are watching the assignee of the bug.

  parent reply	other threads:[~2018-12-04 21:43 UTC|newest]

Thread overview: 272+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-11-13 19:42 [Bug 201685] New: ext4 file system corruption bugzilla-daemon
2018-11-14 21:20 ` [Bug 201685] " bugzilla-daemon
2018-11-15  4:37 ` bugzilla-daemon
2018-11-15 16:19 ` bugzilla-daemon
2018-11-15 16:43 ` bugzilla-daemon
2018-11-16 15:09 ` bugzilla-daemon
2018-11-16 19:03 ` bugzilla-daemon
2018-11-20  5:57 ` bugzilla-daemon
2018-11-21  0:38 ` bugzilla-daemon
2018-11-21  0:41 ` bugzilla-daemon
2018-11-21 14:48 ` bugzilla-daemon
2018-11-21 16:12 ` bugzilla-daemon
2018-11-21 17:26 ` bugzilla-daemon
2018-11-21 18:17 ` bugzilla-daemon
2018-11-21 18:19 ` bugzilla-daemon
2018-11-21 18:21 ` bugzilla-daemon
2018-11-21 18:25 ` bugzilla-daemon
2018-11-21 18:28 ` bugzilla-daemon
2018-11-21 18:44 ` bugzilla-daemon
2018-11-21 18:50 ` bugzilla-daemon
2018-11-21 20:15 ` bugzilla-daemon
2018-11-21 20:36 ` bugzilla-daemon
2018-11-21 22:06 ` bugzilla-daemon
2018-11-21 22:59 ` bugzilla-daemon
2018-11-22  1:47 ` bugzilla-daemon
2018-11-22  2:02 ` bugzilla-daemon
2018-11-22  2:08 ` bugzilla-daemon
2018-11-22  2:08 ` bugzilla-daemon
2018-11-22  2:37 ` bugzilla-daemon
2018-11-22  9:14 ` bugzilla-daemon
2018-11-22 11:51 ` bugzilla-daemon
2018-11-22 15:22 ` bugzilla-daemon
2018-11-22 15:29 ` bugzilla-daemon
2018-11-22 17:04 ` bugzilla-daemon
2018-11-22 19:38 ` bugzilla-daemon
2018-11-22 19:57 ` bugzilla-daemon
2018-11-22 20:03 ` bugzilla-daemon
2018-11-23  0:02 ` bugzilla-daemon
2018-11-24 12:08 ` bugzilla-daemon
2018-11-24 13:07 ` bugzilla-daemon
2018-11-24 14:10 ` bugzilla-daemon
2018-11-25  7:59 ` bugzilla-daemon
2018-11-25  8:02 ` bugzilla-daemon
2018-11-25 21:47 ` bugzilla-daemon
2018-11-25 22:06 ` bugzilla-daemon
2018-11-25 22:24 ` bugzilla-daemon
2018-11-26  0:00 ` bugzilla-daemon
2018-11-26  0:04 ` bugzilla-daemon
2018-11-26  8:49 ` bugzilla-daemon
2018-11-26 12:23 ` bugzilla-daemon
2018-11-26 12:24 ` bugzilla-daemon
2018-11-26 12:25 ` bugzilla-daemon
2018-11-26 15:49 ` bugzilla-daemon
2018-11-26 16:34 ` bugzilla-daemon
2018-11-27  1:32 ` bugzilla-daemon
2018-11-27 12:24 ` bugzilla-daemon
2018-11-27 17:02 ` bugzilla-daemon
2018-11-27 21:54 ` bugzilla-daemon
2018-11-28  0:06 ` bugzilla-daemon
2018-11-28  5:05 ` bugzilla-daemon
2018-11-28  5:06 ` bugzilla-daemon
2018-11-28  5:10 ` bugzilla-daemon
2018-11-28  8:30 ` bugzilla-daemon
2018-11-28 14:40 ` bugzilla-daemon
2018-11-28 15:09 ` bugzilla-daemon
2018-11-28 15:17 ` bugzilla-daemon
2018-11-28 16:26 ` bugzilla-daemon
2018-11-28 17:28 ` bugzilla-daemon
2018-11-28 20:42 ` bugzilla-daemon
2018-11-28 22:47 ` bugzilla-daemon
2018-11-29  3:20 ` bugzilla-daemon
2018-11-29  4:48 ` bugzilla-daemon
2018-11-29 11:12 ` bugzilla-daemon
2018-11-29 16:32 ` bugzilla-daemon
2018-11-29 16:34 ` bugzilla-daemon
2018-11-29 22:38 ` bugzilla-daemon
2018-11-29 22:52 ` bugzilla-daemon
2018-11-30  1:06 ` bugzilla-daemon
2018-11-30  1:15 ` bugzilla-daemon
2018-11-30  4:10 ` bugzilla-daemon
2018-11-30  5:01 ` bugzilla-daemon
2018-11-30  7:18 ` bugzilla-daemon
2018-11-30  7:32 ` bugzilla-daemon
2018-11-30  7:51 ` bugzilla-daemon
2018-11-30  8:43 ` bugzilla-daemon
2018-11-30 10:37 ` bugzilla-daemon
2018-11-30 11:09 ` bugzilla-daemon
2018-11-30 12:10 ` bugzilla-daemon
2018-11-30 14:20 ` bugzilla-daemon
2018-11-30 15:44 ` bugzilla-daemon
2018-11-30 15:49 ` bugzilla-daemon
2018-11-30 17:08 ` bugzilla-daemon
2018-11-30 17:22 ` bugzilla-daemon
2018-11-30 17:47 ` bugzilla-daemon
2018-11-30 18:01 ` bugzilla-daemon
2018-11-30 18:05 ` bugzilla-daemon
2018-11-30 18:07 ` bugzilla-daemon
2018-11-30 18:40 ` bugzilla-daemon
2018-11-30 18:45 ` bugzilla-daemon
2018-11-30 18:54 ` bugzilla-daemon
2018-11-30 19:02 ` bugzilla-daemon
2018-12-01  1:25 ` bugzilla-daemon
2018-12-01  2:34 ` bugzilla-daemon
2018-12-01  3:43 ` bugzilla-daemon
2018-12-01  4:00 ` bugzilla-daemon
2018-12-01  9:25 ` bugzilla-daemon
2018-12-01 12:57 ` bugzilla-daemon
2018-12-01 14:20 ` bugzilla-daemon
2018-12-01 14:28 ` bugzilla-daemon
2018-12-01 14:52 ` bugzilla-daemon
2018-12-01 15:16 ` bugzilla-daemon
2018-12-01 15:35 ` bugzilla-daemon
2018-12-01 15:39 ` bugzilla-daemon
2018-12-01 18:27 ` bugzilla-daemon
2018-12-01 19:49 ` bugzilla-daemon
2018-12-01 21:13 ` bugzilla-daemon
2018-12-01 23:44 ` bugzilla-daemon
2018-12-02  0:01 ` bugzilla-daemon
2018-12-02  0:23 ` bugzilla-daemon
2018-12-02  0:37 ` bugzilla-daemon
2018-12-02  0:44 ` bugzilla-daemon
2018-12-02  0:48 ` bugzilla-daemon
2018-12-02  0:50 ` bugzilla-daemon
2018-12-02  0:52 ` bugzilla-daemon
2018-12-02  0:52 ` bugzilla-daemon
2018-12-02  0:56 ` bugzilla-daemon
2018-12-02  1:25 ` bugzilla-daemon
2018-12-02  3:36 ` bugzilla-daemon
2018-12-02  4:07 ` bugzilla-daemon
2018-12-02  4:20 ` bugzilla-daemon
2018-12-02 10:20 ` bugzilla-daemon
2018-12-02 10:24 ` bugzilla-daemon
2018-12-02 10:25 ` bugzilla-daemon
2018-12-02 10:46 ` bugzilla-daemon
2018-12-02 11:36 ` bugzilla-daemon
2018-12-02 11:36 ` bugzilla-daemon
2018-12-02 11:41 ` bugzilla-daemon
2018-12-02 11:57 ` bugzilla-daemon
2018-12-02 11:59 ` bugzilla-daemon
2018-12-02 12:01 ` bugzilla-daemon
2018-12-02 12:07 ` bugzilla-daemon
2018-12-02 12:27 ` bugzilla-daemon
2018-12-02 12:38 ` bugzilla-daemon
2018-12-02 13:28 ` bugzilla-daemon
2018-12-02 13:35 ` bugzilla-daemon
2018-12-02 13:43 ` bugzilla-daemon
2018-12-02 14:06 ` bugzilla-daemon
2018-12-02 14:14 ` bugzilla-daemon
2018-12-02 14:21 ` bugzilla-daemon
2018-12-02 14:38 ` bugzilla-daemon
2018-12-02 14:42 ` bugzilla-daemon
2018-12-02 16:57 ` bugzilla-daemon
2018-12-02 17:48 ` bugzilla-daemon
2018-12-02 17:50 ` bugzilla-daemon
2018-12-02 18:19 ` bugzilla-daemon
2018-12-02 18:56 ` bugzilla-daemon
2018-12-02 19:07 ` bugzilla-daemon
2018-12-02 19:10 ` bugzilla-daemon
2018-12-02 19:17 ` bugzilla-daemon
2018-12-02 19:18 ` bugzilla-daemon
2018-12-02 19:19 ` bugzilla-daemon
2018-12-02 19:20 ` bugzilla-daemon
2018-12-02 19:22 ` bugzilla-daemon
2018-12-02 19:29 ` bugzilla-daemon
2018-12-02 19:34 ` bugzilla-daemon
2018-12-02 20:34 ` bugzilla-daemon
2018-12-02 20:45 ` bugzilla-daemon
2018-12-02 20:47 ` bugzilla-daemon
2018-12-02 20:57 ` bugzilla-daemon
2018-12-02 21:34 ` bugzilla-daemon
2018-12-03  0:07 ` bugzilla-daemon
2018-12-03  0:11 ` bugzilla-daemon
2018-12-03  0:28 ` bugzilla-daemon
2018-12-03  0:59 ` bugzilla-daemon
2018-12-03  1:03 ` bugzilla-daemon
2018-12-03  1:04 ` bugzilla-daemon
2018-12-03  1:17 ` bugzilla-daemon
2018-12-03  1:23 ` bugzilla-daemon
2018-12-03  1:37 ` bugzilla-daemon
2018-12-03  1:48 ` bugzilla-daemon
2018-12-03  1:50 ` bugzilla-daemon
2018-12-03  2:31 ` bugzilla-daemon
2018-12-03  2:43 ` bugzilla-daemon
2018-12-03  2:53 ` bugzilla-daemon
2018-12-03  3:00 ` bugzilla-daemon
2018-12-03  3:08 ` bugzilla-daemon
2018-12-03  3:34 ` bugzilla-daemon
2018-12-03  3:40 ` bugzilla-daemon
2018-12-03  3:51 ` bugzilla-daemon
2018-12-03  4:06 ` bugzilla-daemon
2018-12-03  4:31 ` bugzilla-daemon
2018-12-03  8:33 ` bugzilla-daemon
2018-12-03  9:24 ` bugzilla-daemon
2018-12-03 10:42 ` bugzilla-daemon
2018-12-03 10:46 ` bugzilla-daemon
2018-12-03 11:02 ` bugzilla-daemon
2018-12-03 11:03 ` bugzilla-daemon
2018-12-03 11:08 ` bugzilla-daemon
2018-12-03 11:09 ` bugzilla-daemon
2018-12-03 14:18 ` bugzilla-daemon
2018-12-03 14:20 ` bugzilla-daemon
2018-12-03 14:57 ` bugzilla-daemon
2018-12-03 15:10 ` bugzilla-daemon
2018-12-03 15:25 ` bugzilla-daemon
2018-12-03 15:25 ` bugzilla-daemon
2018-12-03 16:20 ` bugzilla-daemon
2018-12-03 17:01 ` bugzilla-daemon
2018-12-03 18:05 ` bugzilla-daemon
2018-12-03 19:42 ` bugzilla-daemon
2018-12-03 19:56 ` bugzilla-daemon
2018-12-03 20:38 ` bugzilla-daemon
2018-12-03 21:16 ` bugzilla-daemon
2018-12-03 21:20 ` bugzilla-daemon
2018-12-03 22:19 ` bugzilla-daemon
2018-12-04  1:41 ` bugzilla-daemon
2018-12-04  3:35 ` bugzilla-daemon
2018-12-04  3:39 ` bugzilla-daemon
2018-12-04  6:04 ` bugzilla-daemon
2018-12-04  7:06 ` bugzilla-daemon
2018-12-04  8:24 ` bugzilla-daemon
2018-12-04  8:41 ` bugzilla-daemon
2018-12-04  8:44 ` bugzilla-daemon
2018-12-04 10:16 ` bugzilla-daemon
2018-12-04 11:46 ` bugzilla-daemon
2018-12-04 15:03 ` bugzilla-daemon
2018-12-04 17:52 ` bugzilla-daemon
2018-12-04 18:04 ` bugzilla-daemon
2018-12-04 18:09 ` bugzilla-daemon
2018-12-04 18:14 ` bugzilla-daemon
2018-12-04 18:22 ` bugzilla-daemon
2018-12-04 18:29 ` bugzilla-daemon
2018-12-04 18:33 ` bugzilla-daemon
2018-12-04 18:34 ` bugzilla-daemon
2018-12-04 18:37 ` bugzilla-daemon
2018-12-04 18:37 ` bugzilla-daemon
2018-12-04 18:47 ` bugzilla-daemon
2018-12-04 18:48 ` bugzilla-daemon
2018-12-04 18:59 ` bugzilla-daemon
2018-12-04 19:25 ` bugzilla-daemon
2018-12-04 20:25 ` bugzilla-daemon
2018-12-04 20:36 ` bugzilla-daemon
2018-12-04 20:59 ` bugzilla-daemon
2018-12-04 21:01 ` bugzilla-daemon
2018-12-04 21:11 ` bugzilla-daemon
2018-12-04 21:17 ` bugzilla-daemon
2018-12-04 21:37 ` bugzilla-daemon
2018-12-04 21:43 ` bugzilla-daemon [this message]
2018-12-04 21:50 ` bugzilla-daemon
2018-12-04 21:59 ` bugzilla-daemon
2018-12-04 22:04 ` bugzilla-daemon
2018-12-04 22:06 ` bugzilla-daemon
2018-12-04 22:08 ` bugzilla-daemon
2018-12-04 22:11 ` bugzilla-daemon
2018-12-04 22:12 ` bugzilla-daemon
2018-12-04 22:17 ` bugzilla-daemon
2018-12-04 22:32 ` bugzilla-daemon
2018-12-04 22:35 ` bugzilla-daemon
2018-12-04 22:50 ` bugzilla-daemon
2018-12-04 23:28 ` bugzilla-daemon
2018-12-04 23:38 ` bugzilla-daemon
2018-12-04 23:50 ` bugzilla-daemon
2018-12-05  1:08 ` bugzilla-daemon
2018-12-05  1:10 ` bugzilla-daemon
2018-12-05  1:40 ` bugzilla-daemon
2018-12-05  6:31 ` bugzilla-daemon
2018-12-05  8:48 ` bugzilla-daemon
2018-12-05  9:06 ` bugzilla-daemon
2018-12-05  9:33 ` bugzilla-daemon
2018-12-05  9:51 ` bugzilla-daemon
2018-12-05  9:56 ` bugzilla-daemon
2018-12-05 10:03 ` bugzilla-daemon
2018-12-05 10:17 ` [Bug 201685] Incorrect disk writes caused by blk-mq lead to " bugzilla-daemon

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=bug-201685-13602-xVRIooH3TV@https.bugzilla.kernel.org/ \
    --to=bugzilla-daemon@bugzilla.kernel.org \
    --cc=linux-ext4@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).