public inbox for linux-block@vger.kernel.org
 help / color / mirror / Atom feed
From: Christoph Hellwig <hch@infradead.org>
To: Jan Kara <jack@suse.cz>
Cc: Logan Gunthorpe <logang@deltatee.com>,
	Guoqing Jiang <guoqing.jiang@linux.dev>,
	Donald Buczek <buczek@molgen.mpg.de>, Song Liu <song@kernel.org>,
	Jens Axboe <axboe@kernel.dk>,
	Paolo Valente <paolo.valente@linaro.org>,
	linux-raid <linux-raid@vger.kernel.org>,
	Tejun Heo <tj@kernel.org>, Christoph Hellwig <hch@infradead.org>,
	linux-block@vger.kernel.org
Subject: Re: [Update PATCH V3] md: don't unregister sync_thread with reconfig_mutex held
Date: Mon, 30 May 2022 23:11:47 -0700	[thread overview]
Message-ID: <YpWxo7rCmarXMdVa@infradead.org> (raw)
In-Reply-To: <20220526115336.2whsfdcuqwfzk5fk@quack3.lan>

On Thu, May 26, 2022 at 01:53:36PM +0200, Jan Kara wrote:
> So I've debugged this. The crash happens on the very first bio submitted to
> the md0 device. The problem is that this bio gets remapped to loop0 - this
> happens through bio_alloc_clone() -> __bio_clone() which ends up calling
> bio_clone_blkg_association(). Now the resulting bio is inconsistent - it's
> dst_bio->bi_bdev is pointing to loop0 while dst_bio->bi_blkg is pointing to
> blkcg_gq associated with md0 request queue. And this breaks BFQ because
> when this bio is inserted to loop0 request queue, BFQ looks at
> bio->bi_blkg->q (it is a bit more complex than that but this is the gist
> of the problem), expects its data there but BFQ is not initialized for md0
> request_queue.
> 
> Now I think this is a bug in __bio_clone() but the inconsistency in the bio
> is very much what we asked bio_clone_blkg_association() to do so maybe I'm
> missing something and bios that are associated with one bdev but pointing
> to blkg of another bdev are fine and controllers are supposed to handle
> that (although I'm not sure how should they do that). So I'm asking here
> before I just go and delete bio_clone_blkg_association() from
> __bio_clone()...

This behavior probably goes back to my commit here:

ommit d92c370a16cbe0276954c761b874bd024a7e4fac
Author: Christoph Hellwig <hch@lst.de>
Date:   Sat Jun 27 09:31:48 2020 +0200

    block: really clone the block cgroup in bio_clone_blkg_association

and it seems everyone else was fine with that behavior so far.

  reply	other threads:[~2022-05-31  6:12 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <141b4110-767e-7670-21d5-6a5f636d1207@linux.dev>
     [not found] ` <CAPhsuW6U3g-Xikbw4mAJOH1-kN42rYHLiq_ocv==436azhm33g@mail.gmail.com>
     [not found]   ` <b4244eab-d9e2-20a0-ebce-1a96e8fadb91@deltatee.com>
     [not found]     ` <836b2a93-65be-8d6c-8610-18373b88f86d@molgen.mpg.de>
     [not found]       ` <5b0584a3-c128-cb53-7c8a-63744c60c667@linux.dev>
     [not found]         ` <4edc9468-d195-6937-f550-211bccbd6756@molgen.mpg.de>
     [not found]           ` <954f9c33-7801-b6d2-65e3-9e5237905886@linux.dev>
     [not found]             ` <82a08e9c-e3f4-4eb6-cb06-58b96c0f01a8@deltatee.com>
     [not found]               ` <775d6734-2b08-21a8-a093-f750d31ce6ce@linux.dev>
     [not found]                 ` <ae6d294a-e9ec-a81d-6085-a9341ed8a470@deltatee.com>
2022-05-26 11:53                   ` [Update PATCH V3] md: don't unregister sync_thread with reconfig_mutex held Jan Kara
2022-05-31  6:11                     ` Christoph Hellwig [this message]
2022-05-31  7:43                       ` Jan Kara

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=YpWxo7rCmarXMdVa@infradead.org \
    --to=hch@infradead.org \
    --cc=axboe@kernel.dk \
    --cc=buczek@molgen.mpg.de \
    --cc=guoqing.jiang@linux.dev \
    --cc=jack@suse.cz \
    --cc=linux-block@vger.kernel.org \
    --cc=linux-raid@vger.kernel.org \
    --cc=logang@deltatee.com \
    --cc=paolo.valente@linaro.org \
    --cc=song@kernel.org \
    --cc=tj@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