- Update to latest upstream version (should resolve #444237)
- Drop incremental patch as it's now part of upstream - Clean up all the open() calls in the code (#437145) - Fix the build process to actually generate mdassemble (#446988) - Update the udev rules to get additional info about arrays being assembled from the /etc/mdadm.conf file (--scan option) (#447818) - Update the udev rules to run degraded arrays (--run option) (#452459)
This commit is contained in:
parent
8fe36f4e44
commit
a8863c5bdb
@ -8,3 +8,4 @@ mdadm-2.6.tgz
|
|||||||
mdadm-2.6.1.tgz
|
mdadm-2.6.1.tgz
|
||||||
mdadm-2.6.2.tgz
|
mdadm-2.6.2.tgz
|
||||||
mdadm-2.6.4.tgz
|
mdadm-2.6.4.tgz
|
||||||
|
mdadm-2.6.7.tar.bz2
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
--- mdadm-2.6.4/Makefile.build 2007-10-19 12:32:03.000000000 -0400
|
--- mdadm-2.6.7/Makefile.build 2008-06-26 19:23:12.000000000 -0400
|
||||||
+++ mdadm-2.6.4/Makefile 2007-10-19 12:32:17.000000000 -0400
|
+++ mdadm-2.6.7/Makefile 2008-06-26 19:31:56.000000000 -0400
|
||||||
@@ -102,13 +102,15 @@ mdadm.static : $(OBJS) $(STATICOBJS)
|
@@ -104,13 +104,15 @@ mdadm.static : $(OBJS) $(STATICOBJS)
|
||||||
$(CC) $(CFLAGS) $(LDFLAGS) -static -o mdadm.static $(OBJS) $(STATICOBJS)
|
$(CC) $(CFLAGS) $(LDFLAGS) -static -o mdadm.static $(OBJS) $(STATICOBJS)
|
||||||
|
|
||||||
mdadm.tcc : $(SRCS) mdadm.h
|
mdadm.tcc : $(SRCS) mdadm.h
|
||||||
@ -17,14 +17,16 @@
|
|||||||
gcc -nostdinc -iwithprefix include -I$(KLIBC)/klibc/include -I$(KLIBC)/linux/include -I$(KLIBC)/klibc/arch/i386/include -I$(KLIBC)/klibc/include/bits32 $(CFLAGS) $(SRCS)
|
gcc -nostdinc -iwithprefix include -I$(KLIBC)/klibc/include -I$(KLIBC)/linux/include -I$(KLIBC)/klibc/arch/i386/include -I$(KLIBC)/klibc/include/bits32 $(CFLAGS) $(SRCS)
|
||||||
|
|
||||||
mdadm.Os : $(SRCS) mdadm.h
|
mdadm.Os : $(SRCS) mdadm.h
|
||||||
@@ -121,15 +123,15 @@ test_stripe : restripe.c mdadm.h
|
@@ -122,12 +124,12 @@ mdadm.O2 : $(SRCS) mdadm.h
|
||||||
|
test_stripe : restripe.c mdadm.h
|
||||||
$(CC) $(CXFLAGS) $(LDFLAGS) -o test_stripe -DMAIN restripe.c
|
$(CC) $(CXFLAGS) $(LDFLAGS) -o test_stripe -DMAIN restripe.c
|
||||||
|
|
||||||
mdassemble : $(ASSEMBLE_SRCS) mdadm.h
|
-mdassemble : $(ASSEMBLE_SRCS) mdadm.h
|
||||||
- rm -f $(OBJS)
|
- rm -f $(OBJS)
|
||||||
- $(DIET_GCC) $(ASSEMBLE_FLAGS) -o mdassemble $(ASSEMBLE_SRCS) $(STATICSRC)
|
- $(DIET_GCC) $(ASSEMBLE_FLAGS) -o mdassemble $(ASSEMBLE_SRCS) $(STATICSRC)
|
||||||
|
+mdassemble : $(ASSEMBLE_SRCS) $(STATICSRC) mdadm.h
|
||||||
+ rm -f $(OBJS) $(STATICOBJS)
|
+ rm -f $(OBJS) $(STATICOBJS)
|
||||||
+ $(CC) $(ASSEMBLE_FLAGS) $(LDFLAGS) -DHAVE_STDINT_H -o mdassemble.static $(ASSEMBLE_SRCS) $(STATICSRC)
|
+ $(CC) $(ASSEMBLE_FLAGS) $(LDFLAGS) -DHAVE_STDINT_H -o mdassemble $(ASSEMBLE_SRCS) $(STATICSRC)
|
||||||
|
|
||||||
-mdassemble.static : $(ASSEMBLE_SRCS) mdadm.h
|
-mdassemble.static : $(ASSEMBLE_SRCS) mdadm.h
|
||||||
- rm -f $(OBJS)
|
- rm -f $(OBJS)
|
||||||
@ -32,14 +34,30 @@
|
|||||||
+ rm -f $(OBJS) $(STATICOBJS)
|
+ rm -f $(OBJS) $(STATICOBJS)
|
||||||
$(CC) $(ASSEMBLE_FLAGS) $(LDFLAGS) -static -DHAVE_STDINT_H -o mdassemble.static $(ASSEMBLE_SRCS) $(STATICSRC)
|
$(CC) $(ASSEMBLE_FLAGS) $(LDFLAGS) -static -DHAVE_STDINT_H -o mdassemble.static $(ASSEMBLE_SRCS) $(STATICSRC)
|
||||||
|
|
||||||
|
mdassemble.auto : $(ASSEMBLE_SRCS) mdadm.h $(ASSEMBLE_AUTO_SRCS)
|
||||||
|
@@ -135,8 +137,8 @@ mdassemble.auto : $(ASSEMBLE_SRCS) mdadm
|
||||||
|
$(MAKE) MDASSEMBLE_AUTO=1 mdassemble.static
|
||||||
|
mv mdassemble.static mdassemble.auto
|
||||||
|
|
||||||
-mdassemble.uclibc : $(ASSEMBLE_SRCS) mdadm.h
|
-mdassemble.uclibc : $(ASSEMBLE_SRCS) mdadm.h
|
||||||
- rm -f $(OJS)
|
- rm -f $(OJS)
|
||||||
+mdassemble.uclibc : $(ASSEMBLE_SRCS) $(STATICSRC) mdadm.h
|
+mdassemble.uclibc : $(ASSEMBLE_SRCS) $(STATICSRC) mdadm.h
|
||||||
+ rm -f $(OBJS) $(STATICOBJS)
|
+ rm -f $(OJS) $(STATICOBJS)
|
||||||
$(UCLIBC_GCC) $(ASSEMBLE_FLAGS) -DUCLIBC -DHAVE_STDINT_H -static -o mdassemble.uclibc $(ASSEMBLE_SRCS) $(STATICSRC)
|
$(UCLIBC_GCC) $(ASSEMBLE_FLAGS) -DUCLIBC -DHAVE_STDINT_H -static -o mdassemble.uclibc $(ASSEMBLE_SRCS) $(STATICSRC)
|
||||||
|
|
||||||
# This doesn't work
|
# This doesn't work
|
||||||
@@ -172,10 +174,10 @@ install-klibc : mdadm.klibc install-man
|
@@ -161,8 +163,9 @@ $(OBJS) : mdadm.h bitmap.h
|
||||||
|
sha1.o : sha1.c sha1.h md5.h
|
||||||
|
$(CC) $(CFLAGS) -DHAVE_STDINT_H -o sha1.o -c sha1.c
|
||||||
|
|
||||||
|
-install : mdadm mdadm.static mdassemble.static install-man
|
||||||
|
+install : mdadm mdadm.static mdassemble mdassemble.static install-man
|
||||||
|
$(INSTALL) -D -m 755 mdadm $(DESTDIR)$(BINDIR)/mdadm
|
||||||
|
+ $(INSTALL) -D -m 755 mdassemble $(DESTDIR)$(BINDIR)/mdassemble
|
||||||
|
$(INSTALL) -D -m 755 mdadm.static $(DESTDIR)$(BINDIR)/mdadm.static
|
||||||
|
$(INSTALL) -D -m 755 mdassemble.static $(DESTDIR)$(BINDIR)/mdassemble.static
|
||||||
|
|
||||||
|
@@ -179,10 +182,10 @@ install-klibc : mdadm.klibc install-man
|
||||||
$(INSTALL) -D -m 755 mdadm.klibc $(DESTDIR)$(BINDIR)/mdadm
|
$(INSTALL) -D -m 755 mdadm.klibc $(DESTDIR)$(BINDIR)/mdadm
|
||||||
|
|
||||||
install-man: mdadm.8 mdassemble.8 md.4 mdadm.conf.5
|
install-man: mdadm.8 mdassemble.8 md.4 mdadm.conf.5
|
||||||
|
95
mdadm-2.6.4-open.patch
Normal file
95
mdadm-2.6.4-open.patch
Normal file
@ -0,0 +1,95 @@
|
|||||||
|
--- mdadm-2.6.7/Create.c.open 2008-06-05 22:11:04.000000000 -0400
|
||||||
|
+++ mdadm-2.6.7/Create.c 2008-06-26 19:34:48.000000000 -0400
|
||||||
|
@@ -212,7 +212,7 @@ int Create(struct supertype *st, char *m
|
||||||
|
info.array.working_disks++;
|
||||||
|
if (dnum < raiddisks)
|
||||||
|
info.array.active_disks++;
|
||||||
|
- fd = open(dname, O_RDONLY|O_EXCL, 0);
|
||||||
|
+ fd = open(dname, O_RDONLY|O_EXCL);
|
||||||
|
if (fd <0 ) {
|
||||||
|
fprintf(stderr, Name ": Cannot open %s: %s\n",
|
||||||
|
dname, strerror(errno));
|
||||||
|
@@ -543,7 +543,7 @@ int Create(struct supertype *st, char *m
|
||||||
|
info.disk.minor = 0;
|
||||||
|
info.disk.state = (1<<MD_DISK_FAULTY);
|
||||||
|
} else {
|
||||||
|
- fd = open(dv->devname, O_RDONLY|O_EXCL, 0);
|
||||||
|
+ fd = open(dv->devname, O_RDONLY|O_EXCL);
|
||||||
|
if (fd < 0) {
|
||||||
|
fprintf(stderr, Name ": failed to open %s after earlier success - aborting\n",
|
||||||
|
dv->devname);
|
||||||
|
--- mdadm-2.6.7/mdassemble.c.open 2008-06-01 19:12:21.000000000 -0400
|
||||||
|
+++ mdadm-2.6.7/mdassemble.c 2008-06-26 19:33:42.000000000 -0400
|
||||||
|
@@ -57,7 +57,7 @@ mapping_t pers[] = {
|
||||||
|
/* from mdopen.c */
|
||||||
|
int open_mddev(char *dev, int autof/*unused */)
|
||||||
|
{
|
||||||
|
- int mdfd = open(dev, O_RDWR, 0);
|
||||||
|
+ int mdfd = open(dev, O_RDWR);
|
||||||
|
if (mdfd < 0)
|
||||||
|
fprintf(stderr, Name ": error opening %s: %s\n",
|
||||||
|
dev, strerror(errno));
|
||||||
|
--- mdadm-2.6.7/mdopen.c.open 2008-06-01 19:12:21.000000000 -0400
|
||||||
|
+++ mdadm-2.6.7/mdopen.c 2008-06-26 19:33:42.000000000 -0400
|
||||||
|
@@ -173,7 +173,7 @@ int open_mddev(char *dev, int autof)
|
||||||
|
must_remove = 1;
|
||||||
|
if (stb.st_mode && !must_remove) {
|
||||||
|
/* looks ok, see if it is available */
|
||||||
|
- mdfd = open(dev, O_RDWR, 0);
|
||||||
|
+ mdfd = open(dev, O_RDWR);
|
||||||
|
if (mdfd < 0) {
|
||||||
|
fprintf(stderr, Name ": error opening %s: %s\n",
|
||||||
|
dev, strerror(errno));
|
||||||
|
@@ -254,7 +254,7 @@ int open_mddev(char *dev, int autof)
|
||||||
|
make_parts(dev,parts, ci->symlinks);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
- mdfd = open(dev, O_RDWR, 0);
|
||||||
|
+ mdfd = open(dev, O_RDWR);
|
||||||
|
if (mdfd < 0)
|
||||||
|
fprintf(stderr, Name ": error opening %s: %s\n",
|
||||||
|
dev, strerror(errno));
|
||||||
|
--- mdadm-2.6.7/Detail.c.open 2008-06-01 19:12:20.000000000 -0400
|
||||||
|
+++ mdadm-2.6.7/Detail.c 2008-06-26 19:33:42.000000000 -0400
|
||||||
|
@@ -38,7 +38,7 @@ int Detail(char *dev, int brief, int exp
|
||||||
|
* GET_ARRAY_INFO and GET_DISK_INFO ioctl calls
|
||||||
|
*/
|
||||||
|
|
||||||
|
- int fd = open(dev, O_RDONLY, 0);
|
||||||
|
+ int fd = open(dev, O_RDONLY);
|
||||||
|
int vers;
|
||||||
|
mdu_array_info_t array;
|
||||||
|
mdu_disk_info_t *disks;
|
||||||
|
--- mdadm-2.6.7/Grow.c.open 2008-06-01 19:12:20.000000000 -0400
|
||||||
|
+++ mdadm-2.6.7/Grow.c 2008-06-26 19:33:42.000000000 -0400
|
||||||
|
@@ -685,7 +685,7 @@ int Grow_reshape(char *devname, int fd,
|
||||||
|
}
|
||||||
|
spares = sra->array.spare_disks;
|
||||||
|
if (backup_file) {
|
||||||
|
- fdlist[d] = open(backup_file, O_RDWR|O_CREAT|O_EXCL, 0600);
|
||||||
|
+ fdlist[d] = open(backup_file, O_RDWR|O_CREAT|O_EXCL, S_IRUSR | S_IWUSR);
|
||||||
|
if (fdlist[d] < 0) {
|
||||||
|
fprintf(stderr, Name ": %s: cannot create backup file %s: %s\n",
|
||||||
|
devname, backup_file, strerror(errno));
|
||||||
|
--- mdadm-2.6.7/Query.c.open 2008-06-01 19:12:21.000000000 -0400
|
||||||
|
+++ mdadm-2.6.7/Query.c 2008-06-26 19:33:42.000000000 -0400
|
||||||
|
@@ -37,7 +37,7 @@ int Query(char *dev)
|
||||||
|
* whether it is an md device and whether it has
|
||||||
|
* a superblock
|
||||||
|
*/
|
||||||
|
- int fd = open(dev, O_RDONLY, 0);
|
||||||
|
+ int fd = open(dev, O_RDONLY);
|
||||||
|
int vers;
|
||||||
|
int ioctlerr;
|
||||||
|
int superror, superrno;
|
||||||
|
--- mdadm-2.6.7/Monitor.c.open 2008-06-01 19:12:21.000000000 -0400
|
||||||
|
+++ mdadm-2.6.7/Monitor.c 2008-06-26 19:33:42.000000000 -0400
|
||||||
|
@@ -156,7 +156,7 @@ int Monitor(mddev_dev_t devlist,
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
close(0);
|
||||||
|
- open("/dev/null", 3);
|
||||||
|
+ open("/dev/null", O_RDWR);
|
||||||
|
dup2(0,1);
|
||||||
|
dup2(0,2);
|
||||||
|
setsid();
|
@ -3,4 +3,4 @@
|
|||||||
# See udev(8) for syntax
|
# See udev(8) for syntax
|
||||||
|
|
||||||
SUBSYSTEM=="block", ACTION=="add|change", ENV{ID_FS_TYPE}=="linux_raid*", \
|
SUBSYSTEM=="block", ACTION=="add|change", ENV{ID_FS_TYPE}=="linux_raid*", \
|
||||||
RUN+="/sbin/mdadm --incremental $root/%k"
|
RUN+="/sbin/mdadm --incremental --run --scan $root/%k"
|
||||||
|
23
mdadm.spec
23
mdadm.spec
@ -1,8 +1,8 @@
|
|||||||
Summary: The mdadm program controls Linux md devices (software RAID arrays)
|
Summary: The mdadm program controls Linux md devices (software RAID arrays)
|
||||||
Name: mdadm
|
Name: mdadm
|
||||||
Version: 2.6.4
|
Version: 2.6.7
|
||||||
Release: 4%{?dist}
|
Release: 1%{?dist}
|
||||||
Source: http://www.cse.unsw.edu.au/~neilb/source/mdadm/mdadm-%{version}.tgz
|
Source: http://www.kernel.org/pub/linux/utils/raid/mdadm/mdadm-%{version}.tar.bz2
|
||||||
Source1: mdmonitor.init
|
Source1: mdmonitor.init
|
||||||
Source2: mdadm.rules
|
Source2: mdadm.rules
|
||||||
Patch1: mdadm-2.5.2-s390-build.patch
|
Patch1: mdadm-2.5.2-s390-build.patch
|
||||||
@ -10,9 +10,9 @@ Patch2: mdadm-2.5.2-static.patch
|
|||||||
Patch3: mdadm-2.2-nodiet.patch
|
Patch3: mdadm-2.2-nodiet.patch
|
||||||
Patch4: mdadm-2.5.2-cflags.patch
|
Patch4: mdadm-2.5.2-cflags.patch
|
||||||
Patch5: mdadm-2.6.1-build.patch
|
Patch5: mdadm-2.6.1-build.patch
|
||||||
Patch6: mdadm-2.6.4-incremental.patch
|
Patch6: mdadm-2.6.4-open.patch
|
||||||
URL: http://www.cse.unsw.edu.au/~neilb/source/mdadm/
|
URL: http://www.kernel.org/pub/linux/utils/raid/mdadm/
|
||||||
License: GPL
|
License: GPLv2+
|
||||||
Group: System Environment/Base
|
Group: System Environment/Base
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||||
Obsoletes: mdctl,raidtools
|
Obsoletes: mdctl,raidtools
|
||||||
@ -34,7 +34,7 @@ file can be used to help with some common tasks.
|
|||||||
%patch3 -p1 -b .nodiet
|
%patch3 -p1 -b .nodiet
|
||||||
%patch4 -p1 -b .cflags
|
%patch4 -p1 -b .cflags
|
||||||
%patch5 -p1 -b .build
|
%patch5 -p1 -b .build
|
||||||
%patch6 -p1 -b .incremental
|
%patch6 -p1 -b .open
|
||||||
|
|
||||||
%build
|
%build
|
||||||
make %{?_smp_mflags} CXFLAGS="$RPM_OPT_FLAGS" SYSCONFDIR="%{_sysconfdir}" MDASSEMBLE_AUTO=1 mdassemble.static mdassemble mdadm.static mdadm
|
make %{?_smp_mflags} CXFLAGS="$RPM_OPT_FLAGS" SYSCONFDIR="%{_sysconfdir}" MDASSEMBLE_AUTO=1 mdassemble.static mdassemble mdadm.static mdadm
|
||||||
@ -85,6 +85,15 @@ fi
|
|||||||
%attr(0700,root,root) %dir /var/run/mdadm
|
%attr(0700,root,root) %dir /var/run/mdadm
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Thu Jun 26 2008 Doug Ledford <dledford@redhat.com> - 2.6.7-1
|
||||||
|
- Update to latest upstream version (should resolve #444237)
|
||||||
|
- Drop incremental patch as it's now part of upstream
|
||||||
|
- Clean up all the open() calls in the code (#437145)
|
||||||
|
- Fix the build process to actually generate mdassemble (#446988)
|
||||||
|
- Update the udev rules to get additional info about arrays being assembled
|
||||||
|
from the /etc/mdadm.conf file (--scan option) (#447818)
|
||||||
|
- Update the udev rules to run degraded arrays (--run option) (#452459)
|
||||||
|
|
||||||
* Thu Apr 17 2008 Bill Nottingham <notting@redhat.com> - 2.6.4-4
|
* Thu Apr 17 2008 Bill Nottingham <notting@redhat.com> - 2.6.4-4
|
||||||
- make /dev/md if necessary in incremental mode (#429604)
|
- make /dev/md if necessary in incremental mode (#429604)
|
||||||
- open RAID devices with O_EXCL to avoid racing against other --incremental processes (#433932)
|
- open RAID devices with O_EXCL to avoid racing against other --incremental processes (#433932)
|
||||||
|
Loading…
Reference in New Issue
Block a user