FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Redhat > Fedora Advisory Board

 
 
LinkBack Thread Tools
 
Old 07-23-2010, 10:53 PM
Hans de Goede
 
Default create mappings for ext. partitions like kpartx (#617593)

---
device.py | 45 +++++++++++++++++++++++++--------------------
1 files changed, 25 insertions(+), 20 deletions(-)

diff --git a/device.py b/device.py
index 984d802..c9ccc84 100644
--- a/device.py
+++ b/device.py
@@ -510,14 +510,18 @@ class MultiPath:
return

for part in disk.partitions:
- # Don't create mappings for extended partitions see the comment
- # in RaidSet.buildPartMaps()
- if part.active and part.type != _parted.PARTITION_EXTENDED:
+ if part.active:
name = "%sp%s" % (self.name, part.number)
bdev = BlockDev(self.prefix + self.name)
bdev.mode = 0600
- map = _PartitionDeviceMap(0, part.geometry.length, bdev,
- part.geometry.start, part.number)
+ if part.type != _parted.PARTITION_EXTENDED:
+ map = _PartitionDeviceMap(0, part.geometry.length, bdev,
+ part.geometry.start, part.number)
+ else:
+ # special mapping for extended partitions see the comment
+ # in RaidSet.buildPartMaps()
+ map = _PartitionDeviceMap(0, 2, bdev,
+ part.geometry.start, part.number)
map.name = name
yield map

@@ -762,24 +766,25 @@ class RaidSet:
return

for part in disk.partitions:
- # Various tools create different mappings for extended partitions:
- # dmraid: Does not create a mapping for extended parts
- # kpartx: Creates a mapping with a size of 2 sectors (*)
- # parted: Creates a mapping with the actual extended partition size
- #
- # We won't recognize kpartx' 2 sector mapping as a pre-existing
- # mapping, try to create one and fail with EBUSY. This happens ie
- # with a livecd install. Note the kernel does the same for extended
- # partitions on regular disk, so this is not a kpartx bug.
- #
- # To avoid this problem, we simply don't create a mapping for the
- # extended partition at all, as there is no use for one anyways.
- if part.active and part.type != _parted.PARTITION_EXTENDED:
+ if part.active:
name = "%sp%s" % (self.name, part.number)
bdev = BlockDev(self.prefix + self.name)
bdev.mode = 0600
- map = _PartitionDeviceMap(0, part.geometry.length, bdev,
- part.geometry.start, part.number)
+ if part.type != _parted.PARTITION_EXTENDED:
+ map = _PartitionDeviceMap(0, part.geometry.length, bdev,
+ part.geometry.start, part.number)
+ else:
+ # Various tools create different mappings for ext. parts:
+ # dmraid: Does not create a mapping for extended parts
+ # kpartx: Creates a mapping with a size of 2 sectors
+ # parted: Creates a mapping with the actual partition size
+ #
+ # The kernel does the same as kpartx for regular disks.
+ # We do as kpartx and create a 2 sector mapping, so that if
+ # there is a pre-existing mapping (ie a livecd install), we
+ # recognize it and don't try to create one.
+ map = _PartitionDeviceMap(0, 2, bdev,
+ part.geometry.start, part.number)
map.name = name
map.create()
self._RaidSet__parts.append(map)
--
1.7.0.1

_______________________________________________
Anaconda-devel-list mailing list
Anaconda-devel-list@redhat.com
https://www.redhat.com/mailman/listinfo/anaconda-devel-list
 

Thread Tools




All times are GMT. The time now is 12:08 AM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org