Messages in this thread | | | Date | Wed, 2 Aug 2023 12:44:37 -0400 | From | Kent Overstreet <> | Subject | Re: [PATCH 05/20] block: Allow bio_iov_iter_get_pages() with bio->bi_bdev unset |
| |
On Wed, Aug 02, 2023 at 04:47:18AM -0700, Christoph Hellwig wrote: > On Tue, Aug 01, 2023 at 03:04:50PM -0400, Kent Overstreet wrote: > > > Because blk-cgroup not only works at the lowest level in the stack, > > > but also for stackable block devices. It's not a design decision I > > > particularly agree with, but it's been there forever. > > > > You're setting the association only to the highest block device in the > > stack - how on earth is it supposed to work with anything lower? > > Hey, ask the cgroup folks as they come up with it. I'm not going to > defend the logic here. > > > And looking at bio_associate_blkg(), this code looks completely broken. > > It's checking bio->bi_blkg, but that's just been set to NULL in > > bio_init(). > > It's checking bi_blkg because it can also be called from bio_set_dev.
So bio_set_dev() has subtly different behaviour than passing the block device to bio_init()?
That's just broken.
> > > And this is your code, so I think you need to go over this again. > > It's "my code" in the sene of that I did one big round of unwinding > the even bigger mess that was there. There is another few rounds needed > for the code to vaguely make sense.
Well, I'll watch for those patches then...
| |