Message ID | 20210224035830.990123-1-ming.lei@redhat.com (mailing list archive) |
---|---|
Headers | show |
Series | block: avoid to drop & re-add partitions if partitions aren't changed | expand |
On Wed, Feb 24, 2021 at 11:58:26AM +0800, Ming Lei wrote: > Hi Guys, > > 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.
On Wed, Feb 24, 2021 at 09:18:25AM +0100, Christoph Hellwig wrote: > On Wed, Feb 24, 2021 at 11:58:26AM +0800, Ming Lei wrote: > > Hi Guys, > > > > 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.
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.