rpms/dmraid/F-7 dmraid-1.0.0.rc14-solitary-meta-block.patch, NONE, 1.1 dmraid.spec, 1.82, 1.83

Ian Kent (iankent) fedora-extras-commits at redhat.com
Mon Oct 22 08:17:36 UTC 2007


Author: iankent

Update of /cvs/pkgs/rpms/dmraid/F-7
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv27712

Modified Files:
	dmraid.spec 
Added Files:
	dmraid-1.0.0.rc14-solitary-meta-block.patch 
Log Message:
* Tue Oct 22 2007 Ian Kent <ikent at redhat.com> - 1.0.0.rc14-4
- Fix SEGV on "dmraid -r -E" (bz 236891).


dmraid-1.0.0.rc14-solitary-meta-block.patch:

--- NEW FILE dmraid-1.0.0.rc14-solitary-meta-block.patch ---
diff -up 1.0.0.rc14/lib/format/ataraid/isw.c.solitary-meta-block 1.0.0.rc14/lib/format/ataraid/isw.c
--- 1.0.0.rc14/lib/format/ataraid/isw.c.solitary-meta-block	2006-09-23 02:11:37.000000000 +0800
+++ 1.0.0.rc14/lib/format/ataraid/isw.c	2007-10-22 15:10:49.000000000 +0800
@@ -364,21 +364,26 @@ static int isw_write(struct lib_context 
 {
 	int ret;
 	struct isw *isw = META(rd, isw);
+	int large = div_up(isw->mpb_size, ISW_DISK_BLOCK_SIZE) > 1;
 
 	to_disk(isw, FULL);
 
-	/*
-	 * Copy 1st metadata sector to after the extended ones
-	 * and increment metadata area pointer by one block, so
-	 * that the metadata is filed in the proper sequence.
-	 */
-	memcpy((void*) isw + rd->meta_areas->size, isw, ISW_DISK_BLOCK_SIZE);
-	rd->meta_areas->area += ISW_DISK_BLOCK_SIZE;
+	if (large) {
+		/*
+		 * Copy 1st metadata sector to after the extended ones
+		 * and increment metadata area pointer by one block, so
+		 * that the metadata is filed in the proper sequence.
+		 */
+		memcpy((void*) isw + rd->meta_areas->size, isw,
+		       ISW_DISK_BLOCK_SIZE);
+		rd->meta_areas->area += ISW_DISK_BLOCK_SIZE;
+	}
 
 	ret = write_metadata(lc, handler, rd, -1, erase);
 
 	/* Correct metadata area pointer. */
-	rd->meta_areas->area -= ISW_DISK_BLOCK_SIZE;
+	if (large)
+		rd->meta_areas->area -= ISW_DISK_BLOCK_SIZE;
 
 	to_cpu(isw, FULL);
 


Index: dmraid.spec
===================================================================
RCS file: /cvs/pkgs/rpms/dmraid/F-7/dmraid.spec,v
retrieving revision 1.82
retrieving revision 1.83
diff -u -r1.82 -r1.83
--- dmraid.spec	18 Apr 2007 20:46:12 -0000	1.82
+++ dmraid.spec	22 Oct 2007 08:17:03 -0000	1.83
@@ -7,7 +7,7 @@
 Summary: Device-mapper RAID tool and library.
 Name: dmraid
 Version: 1.0.0.rc14
-Release: 3%{?dist}
+Release: 4%{?dist}
 License: GPL
 Group: System Environment/Base
 URL: http://people.redhat.com/heinzm/sw/dmraid
@@ -19,6 +19,7 @@
 Requires(post): ldconfig
 Source: ftp://people.redhat.com/heinzm/sw/dmraid/src/%{name}-%{version}.tar.bz2
 Patch0: dmraid-1.0.0.rc14-jmicron-name.patch
+Patch1: dmraid-1.0.0.rc14-solitary-meta-block.patch
 
 %description
 DMRAID supports RAID device discovery, RAID set activation and display of
@@ -35,6 +36,7 @@
 %prep
 %setup -q -n dmraid/%{version}
 %patch0 -p1 -b .jmicron-name
+%patch1 -p1 -b .solitary-meta-block
 
 %build
 %configure --prefix=${RPM_BUILD_ROOT}/usr --sbindir=${RPM_BUILD_ROOT}/sbin --libdir=${RPM_BUILD_ROOT}/%{_libdir} --mandir=${RPM_BUILD_ROOT}/%{_mandir} --includedir=${RPM_BUILD_ROOT}/%{_includedir} --enable-debug --enable-libselinux --enable-libsepol --enable-static_link
@@ -80,6 +82,9 @@
 %{_libdir}/libdmraid.so
 
 %changelog
+* Tue Oct 22 2007 Ian Kent <ikent at redhat.com> - 1.0.0.rc14-4
+- Fix SEGV on "dmraid -r -E" (bz 236891).
+
 * Wed Apr 18 2007 Peter Jones <pjones at redhat.com> - 1.0.0.rc14-3
 - Fix jmicron name parsing (#219058)
 




More information about the fedora-extras-commits mailing list