On Tue, Nov 11, 2008 at 10:52:01AM -0500, Joel Granados wrote:
> > +   /* parted treats DVH directory entries as partitions logical with
> 
>  the comment here would read "logical partitions" instead of "partition 
> logical".
>
> > +   else
> > +           last = PED_MAX (ped_disk_get_last_partition_num (disk), 16);
> 
> There is an additional space in this line that should not be there.

Amended patch follows:


>From 757d401980eab4d6290bd5eb7189edd8eb6dd116 Mon Sep 17 00:00:00 2001
From: Petr Uzel <[EMAIL PROTECTED]>
Date: Thu, 6 Nov 2008 16:26:59 +0100
Subject: [PATCH] DVH: do not inform kernel/DM about directory entries


Signed-off-by: Petr Uzel <[EMAIL PROTECTED]>
---
 libparted/arch/linux.c |   20 ++++++++++++++++++--
 1 files changed, 18 insertions(+), 2 deletions(-)

diff --git a/libparted/arch/linux.c b/libparted/arch/linux.c
index 0107dd2..f57c2ba 100644
--- a/libparted/arch/linux.c
+++ b/libparted/arch/linux.c
@@ -2248,7 +2248,15 @@ static int
 _disk_sync_part_table (PedDisk* disk)
 {
         int     i;
-        int     last = PED_MAX (ped_disk_get_last_partition_num (disk), 16);
+        int     last;
+
+       /* parted treats DVH directory entries as logical partitions with 
number > 16;
+        * we don't want to inform kernel about directory entries
+        */
+       if (strcmp (disk->type->name, "dvh") == 0)
+               last = 16;
+       else
+               last = PED_MAX (ped_disk_get_last_partition_num (disk), 16);
         int*    rets = ped_malloc(sizeof(int) * last);
         int*    errnums = ped_malloc(sizeof(int) * last);
         int     ret = 1;
@@ -2470,8 +2478,16 @@ static int
 _dm_reread_part_table (PedDisk* disk)
 {
         int     rc = 1;
-        int     last = PED_MAX (ped_disk_get_last_partition_num (disk), 16);
         int     i;
+        int     last;
+
+       /* parted treats DVH directory entries as logical partitions with 
number > 16;
+        * we don't want to inform kernel about directory entries
+        */
+       if (strcmp (disk->type->name, "dvh") == 0)
+               last = 16;
+       else
+               last = PED_MAX (ped_disk_get_last_partition_num (disk), 16);
 
         sync();
         if (!_dm_remove_parts(disk->dev))
-- 
1.6.0.2




-- 
Best regards / s pozdravem

Petr Uzel, Packages maintainer
---------------------------------------------------------------------
SUSE LINUX, s.r.o.                          e-mail: [EMAIL PROTECTED]
Lihovarská 1060/12                          tel: +420 284 028 964
190 00 Prague 9                             fax: +420 284 028 951
Czech Republic                              http://www.suse.cz

_______________________________________________
parted-devel mailing list
[email protected]
http://lists.alioth.debian.org/mailman/listinfo/parted-devel

Reply via email to