| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
diskdrake allows the user to clear all partitions even when some of those
partitions are currently mounted. partition_table::dos::need_to_tell_kernel()
must return true in this case, as the automatic reread of the partition table
triggered by udevd will fail.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This avoids unnecessary udev events, which in some cases were causing
udevd to trigger a kernel partition table reread, causing the kernel
to get out of sync with drakx.
In order to do so, the libparted bindings are enhanced so that we
manipulate a 'ped_disk' object:
- disk_open() returns such an object
- set_disk_type() is removed
- disk_commit() writes back the partition table and tell the kernel
about it
if we fails to write the partition table, we let
partition_table::write() fire an exceptionc
if we only have succeed in writing the partition table, we let
partition_table::write() try harder (umounting partitions before
trying againt to tell the kernel again)
- need_to_tell_kernel() is overrided
The last change is needed because we now tell the kernel about the new
partition layout in partition_table::gpt::write() when calling
disk_commit() while previously we were deferring that to
partition_table::write() which after having called the gpt's write()
calls tell_kernel() -> c::tell_kernel_to_reread_partition_table()
So we must tell partition_table::write() that telling the kernel to
reread the partition_table is not needed if we already succeeded in
that.
|
| |
|
| |
|
|
|
|
|
|
| |
Now we force the kernel to reread the partition table when we initialise
it, there's no need to also inform it that we've deleted all the existing
partitions.
|
|
|
|
|
|
|
|
| |
When performing an automatic install that uses the clear or clearall
option, we don't read the current partition table, so the current
partition table type was not getting recorded in $hd->{pt_table_type}.
This information is needed to determine whether a BIOS boot partition
is required.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit 532fd1d60df306e204bae79c5158ca2302739966, which
introduced a new bug when clearing GPT partitions in an interactive
session (mga#20264), and replaces it with a new solution.
When a partition table is initialised, we now add an 'init' action to
the $hd->{will_tell_kernel} list. This is used both by gpt::write()
(to clear the partition table) and by partition_table::tell_kernel()
(to force the kernel to reread the partition table). Previous changes
stored in $hd->{will_tell_kernel} are discarded, as they are no longer
of interest.
This also removes support for the will_tell_kernel 'force_reboot'
action, as nothing uses that any more.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
it's unused since commit 1daabebda57976579465e5c281eaa14088e0e37f
|
|
|
|
| |
eg: for ldetect & drakxtools
|
| |
|
|
|
|
|
|
| |
Needed for next commit
It could also be later used for drakx's lspci (like for ldetect's
lspcidrake)
|
|
|
|
|
| |
Even with previous commit, we still need a bunch of new python/scheme
modules
|
|
|
|
|
|
| |
Else it wants to much modules to ever track and we've RO path anyway.
Otherwise we might want to include guile-runtime's .go files too in
order to get rid of warnings.
|
|
|
|
| |
useful when doing a debug build
|
|
|
|
|
| |
rather than lost on console
printf() was introduced in commit 9e6b327ca2b1f46db62e0811fabf0a6cf0b114a7
|
|
|
|
| |
(mga#19234)
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
classic installer (mga#20074).
The automatic rescan of the partition table is triggered by udevd. The
udev rule that causes this is not present on the cut-down system that
runs the classic installer.
|
|
|
|
|
|
| |
This prevents disks/partitions being auto-mounted by e.g. Thunar
when drakdisk probes the disks or makes changes, which can lead
to disk corruption.
|
| |
|
|
|
|
|
| |
It's required by x11-driver-video, and removing that orphans all
the other required x11 video driver packages.
|
|
|
|
|
|
|
| |
This relaxes the rules in fs::any::is_boot_bios_part_needed to allow
the BIOS boot partition to be located on any disk, not just the disk
containing the root partition. It also ensures that a BIOS boot
partition is never forcibly required in a system with non-GPT disks.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This adds a specific subroutine, fsedit::auto_allocate_boot_bios_parts
that detects if a BIOS boot partition is needed and allocates it if so.
This allows us to relax the rules in fs::any::is_boot_bios_part_needed
to allow the user to manually allocate the BIOS boot partition on a
different device if they so wish.
In the normal case that installation is confined to a single disk,
this will allocate a single BIOS boot partition on that disk. In
the rare case that installation is spread over multiple disks, it
will allocate a BIOS boot partition on every disk. Given that the
BIOS boot partitions are very small and that this is not a normal
use case (see mga#16055), this seems an acceptable quirk - and does
allow the user to then choose any disk when installing the boot
loader.
|