| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When a disk has a filesystem directly without a partition table,
libparted tells us the partition table is of type loop and we don't
have code to handle that, causing a crash:
Can't locate partition_table/loop.pm in @INC (you may need to install the partition_table::loop module) (@INC contains: /usr/lib/libDrakX /usr/local/lib64/perl5 /usr/local/share/perl5/5.32 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5) at /usr/lib/libDrakX/partition_table.pm line 287.
Perl's trace:
drakbug::bug_handler() called from /usr/lib/libDrakX/partition_table.pm:287
partition_table::initialize() called from /usr/lib/libDrakX/partition_table/raw.pm:227
partition_table::raw::zero_MBR() called from /usr/lib/libDrakX/fsedit.pm:265
fsedit::get_hds() called from /usr/libexec/diskdrake:74
We should probably be more generic and treat the same way any partition
table type name we don't know rather than crashing.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
The following patches want to use it outside the partition_table module.
|
|
|
|
|
|
|
|
|
|
|
| |
When telling the kernel about changes to a DOS partition table, if a
partition was deleted on a disk that also contained an Empty partition,
the kernel also removed the Empty partition from its cached partition
table (and renumbered the other partitions).
Experimentation showed that leaving the udev exec queue active whilst we
were telling the kernel about the changes fixed this problem, although I
don't have an explanation for why it does.
|
|
|
|
| |
v2 (tvignaud): enhance doc
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
automatically (mga#20074).
When no partitions on a DOS-partitioned disk are mounted, the kernel
automatically rescans the partition table when it is written to disk.
We shouldn't then try to update the kernel's view of the partition
table, as the list of deltas we have recorded is relative to the
previous state of the partition table, not the newly rescanned state.
The behaviour for other partition table types is unchanged.
v2 (tvignaud): just make base class assume the kernel doesn't reread, only mbr
subclass overrides need_to_tell_kernel() in order to be smarter
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(mga#20074).
When no partitions on a DOS-partitioned disk are mounted, the kernel
automatically rescans the partition table when the file handle to the
raw device is released. Currently the code opens and closes the raw
device when writing the primary partition table and when writing each
extended partition table segment. As the extended partition table
segments form a linked list, this allows the kernel to get in and
rescan the table when the list is not in a coherent state. This patch
changes the code to open the raw device before writing the primary
partition table and to close it only after writing the last extended
partition table segment.
The behaviour for other partition table types is unchanged.
v2 (tvignaud): simplify by moving copies of noop funcs into the base class
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
or more generally, do not switch from current scheme to default one if
not told otherwise
else we get errors when partitionning after clearing them, such as:
"INTERNAL ERROR: unknown device vda7"
|
|
|
|
|
| |
so use GPT for disks > 2TiB, thus fixing using invalid MBR on disks
between 2 & 4 TiB
|
| |
|
|
|
|
| |
thus fixing mga15636
|
|
|
|
| |
use libparted in order to do so (mga#14758)
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
was killed in kernel on 2002-08-16, obsolete since kernel-2.6...
See https://git.kernel.org/cgit/linux/kernel/git/tglx/history.git/commit/?id=12105c896098faf822e882f3495fee485c2ebaa5
|
|
|
|
| |
they're obsolete since switching from CVS/SVN to git...
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Including Xsun, silo & yaboot support
Rationale: it's unused/unmaintained for years and those arches are beyond
any hope of being usefull any day...
They just got in the way...
Part of IA64 support is still kept (eg: support for GPT, EFI, right xorg
driver at install, ...) as it might be usefull to extend to other arches
Next to consider: Xbox?
|
|
|
|
| |
(mga#4439))
|
| |
|
|
|
|
| |
performance issues with drives with 4k physical sectors (mga#1215)
|
| |
|
| |
|
|
|
|
|
| |
- use 'LDAP' instead of 'Ldap'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
with Mageia.
This commit consitsts of the following subversion commits:
------------------------------------------------------------------------
r431 | dmorgan | 2011-02-06 01:58:02 +0000 (Sun, 06 Feb 2011) | 1 line
Add drakx structure on the SVN
------------------------------------------------------------------------
r432 | dmorgan | 2011-02-06 01:59:38 +0000 (Sun, 06 Feb 2011) | 1 line
Import cleaned advertising
------------------------------------------------------------------------
r446 | dmorgan | 2011-02-06 22:37:08 +0000 (Sun, 06 Feb 2011) | 1 line
Import Clean perl-install
------------------------------------------------------------------------
r448 | dmorgan | 2011-02-06 23:02:36 +0000 (Sun, 06 Feb 2011) | 1 line
Add cleaned files
------------------------------------------------------------------------
r449 | dmorgan | 2011-02-06 23:03:52 +0000 (Sun, 06 Feb 2011) | 1 line
Import cleaned kernel
------------------------------------------------------------------------
r450 | dmorgan | 2011-02-06 23:23:30 +0000 (Sun, 06 Feb 2011) | 1 line
Import cleaned tools
------------------------------------------------------------------------
r451 | dmorgan | 2011-02-07 00:01:56 +0000 (Mon, 07 Feb 2011) | 1 line
Import stage1
------------------------------------------------------------------------
r473 | dmorgan | 2011-02-07 11:20:50 +0000 (Mon, 07 Feb 2011) | 1 line
Import images
------------------------------------------------------------------------
r497 | ennael | 2011-02-09 21:02:06 +0000 (Wed, 09 Feb 2011) | 2 lines
readd missing file
------------------------------------------------------------------------
r502 | pterjan | 2011-02-09 23:30:32 +0000 (Wed, 09 Feb 2011) | 1 line
Import rescue
------------------------------------------------------------------------
r603 | ennael | 2011-02-24 13:32:54 +0000 (Thu, 24 Feb 2011) | 2 lines
import cleaned rescue for Mageia
------------------------------------------------------------------------
r2061 | tv | 2011-10-20 20:32:19 +0100 (Thu, 20 Oct 2011) | 1 line
import (cleaned) doc
------------------------------------------------------------------------
|
| |
|
| |
|
|
|
|
|
|
| |
that we got them for dynamic devices (eg: for SCSI like devices with
kernel-2.6.28+)
|
| |
|
|
|
|
|
| |
o handle partitions encrypted with cryptsetup
|
|
|
|
|
|
|
| |
o fix reading existing grub conf in present of /dev/mapper/xxxx0p1
partitions (which was causing bootloader-config to drop correct entries,
cf #37722)
|
|
|
|
|
|
|
|
| |
simplifying code, since using "p" to separate device name from partition
number when device name ends with a digit is standard in the kernel
$hd->{prefix} is no more always created. Only used in same special cases
|
|
|
|
|
|
| |
o final fix for resizing's failures due to udev's race
(when writing the partition, do not del/add the same partition)
|
|
|
|
|
|
| |
o look for LVM PV on non partitioned disk before looking for DOS
partition_table (esp. for lilo which puts the DOS magic)
|
|
|
|
|
|
| |
o drop "Undo", "Restore partition table", "Save partition table"
(preparing to switch to libparted)
|
|
|
|
|
|
| |
o do not allow partitions bigger than 2TB-1 on DOS MBR, nor partitions
starting above 2TB-1
|
|
|
|
|
| |
o "Clear All" defaults to LVM on full disk if drive is >4TB
|