summaryrefslogtreecommitdiffstats
path: root/perl-install/partition_table/dos.pm
Commit message (Collapse)AuthorAgeFilesLines
* enhance partition_table docThierry Vignaud2018-11-221-4/+29
|
* Add safety net for informing the kernel after writing a DOS partition table.Martin Whitaker2017-04-041-1/+20
| | | | | | | | | | There is an unidentified condition that prevents udevd calling the BLKRRPART ioctl after a partition table is written. It looks like either the kernel or udevd drops device change events if they are too closely spaced in time. So, in the case where we expect udevd to call BLKRRPART, check /proc/partitions to make sure it has done so. Arbitrarily try 5 times, 100ms apart, before giving up and informing the kernel ourselves.
* Ensure kernel is informed when a DOS partition table is cleared.Martin Whitaker2017-03-141-1/+6
| | | | | | | 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.
* Always tell the kernel about partition table changes when running the ↵Martin Whitaker2017-02-251-4/+8
| | | | | | | | 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.
* Preserve DOS "Empty" partitions instead of treating them as free space ↵Martin Whitaker2017-02-251-0/+1
| | | | | | | | | (mga#20074). To minimise the changes this close to mga6 release (and until we fix the bug in partition auto-allocation that mistakenly creates BIOS boot partitions non-GPT disks), reuse the BIOS_GRUB flag for flagging Empty partitions, as the real partition ID (0x00) is used to flag free space.
* Don't tell the kernel about partition table changes when it rescans them ↵Martin Whitaker2017-02-251-0/+8
| | | | | | | | | | | | | | | 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
* Ensure the kernel doesn't rescan a partially written partition table ↵Martin Whitaker2017-02-251-4/+18
| | | | | | | | | | | | | | | | | | | (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
* fix path in commentThierry Vignaud2015-12-241-1/+1
|
* kill $Id:$ tagsThierry Vignaud2014-06-071-1/+1
| | | | they're obsolete since switching from CVS/SVN to git...
* perl_checker cleanupsThierry Vignaud2012-03-231-3/+3
|
* Synthesized commit during git-svn import combining previous Mandriva history ↵Mageia SVN-Git Migration2011-02-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 ------------------------------------------------------------------------
* oopsPascal Terjan2009-11-261-1/+0
|
* detect better invalid dos partition table (fixes a crash in harddrake)Pascal Terjan2009-11-261-0/+14
|
* - diskdrake :Pascal Rigaux2007-09-191-0/+4
| | | | | | o do not allow partitions bigger than 2TB-1 on DOS MBR, nor partitions starting above 2TB-1
* rename ->read to ->read_onePascal Rigaux2007-09-181-1/+1
|
* transform ->clear_raw into the more generic ->initializePascal Rigaux2007-09-181-1/+7
| | | | | (useful to have a more standard partition_table::lvm)
* - diskdrake:Pascal Rigaux2007-08-081-0/+1
| | | | | | | | o do not show partition types which have no associated filesystem for LVM LV (#32326) nb: we still would need to have pt_type per partition_table types
* re-sync after the big svn lossPascal Rigaux2007-04-251-2/+2
|
* - move functions using /proc/partitions out of fsedit to fs::proc_partitionsPascal Rigaux2005-06-101-0/+1
| | | | | | - remove unneeded "use xxx" - add some "use xxx" (nb: not completly needed because some other modules may do it)
* catch bad use of get_rawCHS()Pascal Rigaux2005-03-101-0/+3
|
* - geometry XXX/240/63 is quite common, so add 240 to @valid_nb_headsPascal Rigaux2004-11-261-2/+2
| | | | | | | - remove checking that nb_heads is in @valid_nb_heads (this fixes yet another case of the infamous "XP doesn't boot" occuring 10.1 CE, though it should already be fixed via EDD)
* fail if legacy_sectors_per_track or legacy_max_head doesn't exist instead of ↵Pascal Rigaux2004-09-271-3/+4
| | | | returning garbage (bugzilla #11738)
* perl_checker compliancePascal Rigaux2004-09-271-1/+1
|
* don't call compute_nb_cylinders() before checking {sectors} and {heads} are ↵Pascal Rigaux2004-09-271-2/+2
| | | | valid
* remove the backtracePascal Rigaux2004-09-221-1/+1
|
* more loggingPascal Rigaux2004-09-221-1/+3
|
* try to get geometry from EDDPascal Rigaux2004-09-171-1/+16
|
* - add field {fs_type} partially replacing {pt_type}Pascal Rigaux2004-07-271-1/+3
| | | | | | | | | | | | | | | | | | | | {pt_type} is always a number, {fs_type} is always a string - introduce set_isFormatted() (to ensure {notFormatted} but also {fs_type_from_magic} and {bad_fs_type_magic} are updated) - don't use 0x483 for ext3 anymore (same for reiserfs...), the type_name gives both a pt_type and a fs_type - many accessors from partition_table removed (type2fs(), fs2pt_type()) - remove isThisFs() (not useful anymore since we can use directly {fs_type}) - remove isFat() (inline the function) - other isXXX() from partition_table are moved to fs::type - part2name() is now fs::type::part2type_name - name2pt_type() is now fs::type::type_name2subpart() - partition_table::important_types() is now fs::type::type_names() - fsedit::typeOfPart() is now fs::type::fs_type_from_magic() - no need to truncate type_name since they are shorter
* big renaming of field {type} to {pt_type},Pascal Rigaux2004-07-051-5/+5
| | | | | | this will allow defining {fs_type} which will always be a string whereas {pt_type} will always be a number
* not guessing a geometry when default_ok is no big dealPascal Rigaux2004-03-181-1/+2
|
* add set_best_geometry_for_the_partition_table to use the hd geometry instead ↵Pascal Rigaux2004-03-171-13/+133
| | | | of the physical geometry returned by the kernel (since for now i can't have bios geometry on 2.6)
* - sector2CHS() now gives sector number starting at 0Pascal Rigaux2004-03-171-3/+3
| | | | | - CHS2rawCHS() takes care of giving sector number starting at 1
* new perl_checker compliancePascal Rigaux2003-04-171-2/+3
|
* do not use "local *F"Pascal Rigaux2002-12-041-10/+10
|
* - add/remove spaces to make perl_checker happyPascal Rigaux2002-11-141-1/+1
| | | | | | - remove redundant parentheses - add some parentheses for clarity
* (partition_table::dos::last_usable_sector): don't use totalsectors, compute ↵Pascal Rigaux2002-08-281-0/+6
| | | | it so that it is cylinder aligned
* g Move 2: partition table: hierarchyThierry Vignaud2002-07-231-0/+99