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: Wed, 21 Nov 2018 20:15:58 +0000	[thread overview]
Message-ID: <bug-201685-13602-5jsASK7mGj@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 #20 from Theodore Tso (tytso@mit.edu) ---
Can someone try 4.19.3?   I was working with another Ubuntu user who did *not*
have see the problem with 4.19.0, but did see it with 4.19.1, but one of the
differences in his config was:

-# CONFIG_SCSI_MQ_DEFAULT is not set
+CONFIG_SCSI_MQ_DEFAULT=y

Furthermore, he tried 4.19.3 and after two hours of heavy I/O, he's no longer
seeing problems.   Based on the above observation, his theory is this commit
may have fixed things, and it *is* blk-mq specific:

commit 410306a0f2baa5d68970cdcf6763d79c16df5f23
Author: Ming Lei <ming.lei@redhat.com>
Date:   Wed Nov 14 16:25:51 2018 +0800

    SCSI: fix queue cleanup race before queue initialization is done

    commit 8dc765d438f1e42b3e8227b3b09fad7d73f4ec9a upstream.

    c2856ae2f315d ("blk-mq: quiesce queue before freeing queue") has
    already fixed this race, however the implied synchronize_rcu()
    in blk_mq_quiesce_queue() can slow down LUN probe a lot, so caused
    performance regression.

    Then 1311326cf4755c7 ("blk-mq: avoid to synchronize rcu inside
blk_cleanup_queue()")
    tried to quiesce queue for avoiding unnecessary synchronize_rcu()
    only when queue initialization is done, because it is usual to see
    lots of inexistent LUNs which need to be probed.

    However, turns out it isn't safe to quiesce queue only when queue
    initialization is done. Because when one SCSI command is completed,
    the user of sending command can be waken up immediately, then the
    scsi device may be removed, meantime the run queue in scsi_end_request()
    is still in-progress, so kernel panic can be caused.

    In Red Hat QE lab, there are several reports about this kind of kernel
    panic triggered during kernel booting.

    This patch tries to address the issue by grabing one queue usage
    counter during freeing one request and the following run queue.

This commit just landed in mainline and is not in 4.20-rc2, so the theory that
it was a blk-mq bug that was fixed by the above commit is consistent with all
of the observations made to date.

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

  parent reply	other threads:[~2018-11-22  6:51 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 [this message]
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
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-5jsASK7mGj@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).