rpms/parted/devel parted-1.9.0-ped_partition_is_busy-no-exception.patch, NONE, 1.1 parted-1.9.0-swap-flag.patch, 1.2, 1.3 parted.spec, 1.148, 1.149

Hans de Goede jwrdegoede at fedoraproject.org
Tue Oct 6 18:53:21 UTC 2009


Author: jwrdegoede

Update of /cvs/extras/rpms/parted/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv10776

Modified Files:
	parted-1.9.0-swap-flag.patch parted.spec 
Added Files:
	parted-1.9.0-ped_partition_is_busy-no-exception.patch 
Log Message:
* Tue Oct  6 2009 Hans de Goede <hdegoede at redhat.com> 1.9.0-15
- ped_partition_is_busy() should not throw exceptions (#527035)
- msdos_partition_is_flag_available() should return 1 for swap flag (#513729)


parted-1.9.0-ped_partition_is_busy-no-exception.patch:
 linux.c |    5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

--- NEW FILE parted-1.9.0-ped_partition_is_busy-no-exception.patch ---
>From fa2ad81437541251d6e47eccf3bc413cf68a0c31 Mon Sep 17 00:00:00 2001
From: Hans de Goede <hdegoede at redhat.com>
Date: Tue, 6 Oct 2009 11:18:25 +0200
Subject: [PATCH] ped_partition_busy should not call the libparted exception handler

Modify libparted/arch/linux.c _partition_get_part_dev() to not call
_device_stat() but instead use stat directly, as _device_stat() calls
the libparted exception handler and we don't want this here, the only caller
of _partition_get_part_dev() is _partition_is_mounted(), which in turn only
gets called by linux_partition_is_busy(), and we don't want to "throw"
exceptions from ped_partition_busy()

This issue was noticed in combination with pyparted as used by anaconda, see:
https://bugzilla.redhat.com/show_bug.cgi?id=527035#c10
---
 libparted/arch/linux.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/libparted/arch/linux.c b/libparted/arch/linux.c
index 52f7d21..a8d6daf 100644
--- a/libparted/arch/linux.c
+++ b/libparted/arch/linux.c
@@ -2127,7 +2127,7 @@ _partition_get_part_dev (const PedPartition* part)
         struct stat dev_stat;
         int dev_major, dev_minor;
 
-        if (!_device_stat (part->disk->dev, &dev_stat))
+        if (stat (part->disk->dev->path, &dev_stat))
                 return (dev_t)0;
         dev_major = major (dev_stat.st_rdev);
         dev_minor = minor (dev_stat.st_rdev);
@@ -2184,6 +2184,8 @@ _partition_is_mounted (const PedPartition *part)
         if (!ped_partition_is_active (part))
                 return 0;
         dev = _partition_get_part_dev (part);
+        if (!dev)
+        	return 0;
         return _partition_is_mounted_by_dev (dev);
 }
 
-- 
1.6.5.rc2


parted-1.9.0-swap-flag.patch:
 dos.c |   30 +++++++++++++++++++++++++++++-
 1 file changed, 29 insertions(+), 1 deletion(-)

Index: parted-1.9.0-swap-flag.patch
===================================================================
RCS file: /cvs/extras/rpms/parted/devel/parted-1.9.0-swap-flag.patch,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -p -r1.2 -r1.3
--- parted-1.9.0-swap-flag.patch	27 Jul 2009 17:03:49 -0000	1.2
+++ parted-1.9.0-swap-flag.patch	6 Oct 2009 18:53:21 -0000	1.3
@@ -124,6 +124,14 @@ index 7ec15ee..f8307c5 100644
  	default:
  		return 0;
  	}
+@@ -1496,6 +1496,7 @@ msdos_partition_is_flag_available (const
+ 	case PED_PARTITION_LBA:
+ 	case PED_PARTITION_PALO:
+ 	case PED_PARTITION_PREP:
++	case PED_PARTITION_SWAP:
+ 		return 1;
+ 
+ 	default:
 -- 
 1.6.0.6
 


Index: parted.spec
===================================================================
RCS file: /cvs/extras/rpms/parted/devel/parted.spec,v
retrieving revision 1.148
retrieving revision 1.149
diff -u -p -r1.148 -r1.149
--- parted.spec	31 Aug 2009 12:34:18 -0000	1.148
+++ parted.spec	6 Oct 2009 18:53:21 -0000	1.149
@@ -4,7 +4,7 @@
 Summary: The GNU disk partition manipulation program
 Name:    parted
 Version: 1.9.0
-Release: 14%{?dist}
+Release: 15%{?dist}
 License: GPLv3+
 Group:   Applications/System
 URL:     http://www.gnu.org/software/parted
@@ -25,6 +25,7 @@ Patch12:  %{name}-1.9.0-volkeysize.patch
 Patch13:  %{name}-1.9.0-no-BLKPG.patch
 Patch14:  %{name}-1.9.0-commit-without-close.patch
 Patch15:  %{name}-1.9.0-dont-touch-part-nodes.patch
+Patch16:  %{name}-1.9.0-ped_partition_is_busy-no-exception.patch
 
 Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 BuildRequires: e2fsprogs-devel
@@ -77,6 +78,7 @@ Parted library, you need to install this
 %patch13 -p1 -b .no-BLKPG
 %patch14 -p1 -b .commit-without-close
 %patch15 -p1 -b .dont-touch-part-nodes
+%patch16 -p1 -b .ped_partition_is_busy
 
 
 %build
@@ -101,6 +103,7 @@ popd
 %{__rm} -rf %{buildroot}%{_libdir}/*.la
 %{__rm} -rf %{buildroot}%{_infodir}/dir
 %{__rm} -rf %{buildroot}%{_bindir}/label
+%{__rm} -rf %{buildroot}%{_bindir}/disk
 
 %find_lang %{name}
 
@@ -137,6 +140,10 @@ fi
 %{_exec_prefix}/%{_lib}/pkgconfig/libparted.pc
 
 %changelog
+* Tue Oct  6 2009 Hans de Goede <hdegoede at redhat.com> 1.9.0-15
+- ped_partition_is_busy() should not throw exceptions (#527035)
+- msdos_partition_is_flag_available() should return 1 for swap flag (#513729)
+
 * Mon Aug 31 2009 Joel Granados <jgranado at redhat.com> 1.9.0-14
 - Patchs for 'commit to os' for linux.  Thx to hansg.
 




More information about the fedora-extras-commits mailing list