Re: [PATCH V2 0/3] block: avoid to drop & re-add partitions if partitions aren't changed

From: Christoph Hellwig
Date: Wed Feb 24 2021 - 11:18:26 EST


On Wed, Feb 24, 2021 at 07:23:54PM +0800, Ming Lei wrote:
> > > The two patches changes block ioctl(BLKRRPART) for avoiding drop &
> > > re-add partitions if partitions state isn't changed. The current
> > > behavior confuses userspace because partitions can disappear anytime
> > > when calling into ioctl(BLKRRPART).
> >
> > Which is the f***king point of BLKRRPART and the behavior it had
> > since day 1. Please fix the application(s) that all it all the time
> > instead of bloating the kernel, as said before.
> >
>
> ioctl(BLKRRPART) can be called without changing partition table in
> fdisk, cfdisk, sfdisk, systemd and blockdev at least, and it isn't only
> on one single application. Even for blockdev, not sure if it can be fixed
> because '--rereadpt' is simply one subcommand.

I can also do all kinds of other bad things when I really want to. So
if a privileged user uses *fdisk, or explicitly calls
blockdev --rereadpt, we can expect this behavior, and all of them above
should not be frequent.

It seems like the main culprit is systemd, so please look into what is
going wrong there.