[Pkg-ganeti-devel] Bug#853167: ganeti-instance-debootstrap: OS installations fails because sfdisk believes the disk is in use
Apollon Oikonomopoulos
apoikos at debian.org
Wed May 3 13:13:06 UTC 2017
Hi Martin,
Apologies for the late response.
Here's a preliminary root cause analysis:
On Mon, 30 Jan 2017 13:33:33 +0100 Martin Weinelt <hexa at darmstadt.ccc.de> wrote:
> This disk is currently in use - repartitioning is probably a bad idea.
> Umount all file systems, and swapoff all swap partitions on this disk.
> Use the --no-reread flag to suppress this check.
>
> sfdisk: Use the --force flag to overrule all checks.
> ```
In util-linux 2.26, a safeguard was added to sfdisk to try to detect if
a disk is in use before partitioning. It does so by issuing the
BLKRRPART ioctl, which instructs the kernel to re-read the partition
table, which will fail if the disk is currently in use, and this is what
sfdisk looks for.
However, this operation will also fail with -EINVAL in a number of
cases, including when devices are declared to the kernel as
unpartitionable, i.e. with bdev->minors == 1. And this is how DRBD
declares its own devices. IOW, BLKRRPART on DRBD devices will *always*
fail, regardless whether the device is in use or not.
>
> Adding `--force` to the sfdisk call in /usr/share/ganeti/os/debootstrap/common.sh:98
> will allow for completion of the os installation.
> Adding `--no-reread` didn't change a thing for me.
In theory, `--no-reread` should work. I tested it manually here, can you
please give it a try again? I would prefer to add `--no-reread` rather
than `--force`, if the former works.
Regards,
Apollon
More information about the Pkg-ganeti-devel
mailing list