diff --git a/.cvsignore b/.cvsignore index 6f7aa65..c5f19a0 100644 --- a/.cvsignore +++ b/.cvsignore @@ -2,3 +2,4 @@ mdadm-3.0.3.tar.bz2 mdadm-3.1.1-gcd9a8b5.tar.bz2 mdadm-3.1.2.tar.bz2 mdadm-3.1.3-git07202010.tar.bz2 +mdadm-3.1.3-git20100722.tar.bz2 diff --git a/mdadm-3.1.2-lock.patch b/mdadm-3.1.2-lock.patch deleted file mode 100644 index 8d90870..0000000 --- a/mdadm-3.1.2-lock.patch +++ /dev/null @@ -1,65 +0,0 @@ ---- mdadm-3.1.2/Incremental.c.lock 2010-07-20 17:21:41.879217630 -0400 -+++ mdadm-3.1.2/Incremental.c 2010-07-20 17:21:41.916342431 -0400 -@@ -285,7 +285,9 @@ int Incremental(char *devname, int verbo - - /* 4/ Check if array exists. - */ -- map_lock(&map); -+ if (map_lock(&map)) -+ fprintf(stderr, Name ": failed to get exclusive lock on " -+ "mapfile\n"); - mp = map_by_uuid(&map, info.uuid); - if (mp) - mdfd = open_dev(mp->devnum); -@@ -769,7 +771,9 @@ int Incremental_container(struct superty - struct mdinfo *ra; - struct map_ent *map = NULL; - -- map_lock(&map); -+ if (map_lock(&map)) -+ fprintf(stderr, Name ": failed to get exclusive lock on " -+ "mapfile\n"); - - for (ra = list ; ra ; ra = ra->next) { - int mdfd; ---- mdadm-3.1.2/mapfile.c.lock 2010-07-20 17:21:41.687217302 -0400 -+++ mdadm-3.1.2/mapfile.c 2010-07-20 17:23:23.038096346 -0400 -@@ -58,7 +58,7 @@ char *mapname[2][3] = { - }; - char *mapdir[2] = { MAP_DIR, NULL }; - --int mapmode[3] = { O_RDONLY, O_RDWR|O_CREAT, O_RDWR|O_CREAT|O_TRUNC }; -+int mapmode[3] = { O_RDONLY, O_RDWR|O_CREAT, O_RDWR|O_CREAT|O_EXCL }; - char *mapsmode[3] = { "r", "w", "w"}; - - FILE *open_map(int modenum, int *choice) -@@ -120,14 +120,11 @@ static int lwhich = 0; - int map_lock(struct map_ent **melp) - { - if (lf == NULL) { -- lf = open_map(2, &lwhich); -+ do { -+ lf = open_map(2, &lwhich); -+ } while (lf == NULL && errno == EEXIST); - if (lf == NULL) - return -1; -- if (flock(fileno(lf), LOCK_EX) != 0) { -- fclose(lf); -- lf = NULL; -- return -1; -- } - } - if (*melp) - map_free(*melp); -@@ -137,10 +134,7 @@ int map_lock(struct map_ent **melp) - - void map_unlock(struct map_ent **melp) - { -- if (lf) { -- flock(fileno(lf), LOCK_UN); -- fclose(lf); -- } -+ fclose(lf); - unlink(mapname[lwhich][2]); - lf = NULL; - } diff --git a/mdadm-3.1.3-read.patch b/mdadm-3.1.3-read.patch deleted file mode 100644 index 7985af7..0000000 --- a/mdadm-3.1.3-read.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- mdadm-3.1.3-git07202010/Grow.c.read 2010-07-20 12:18:12.000000000 -0400 -+++ mdadm-3.1.3-git07202010/Grow.c 2010-07-20 12:55:26.816805170 -0400 -@@ -1820,7 +1820,7 @@ int Grow_restart(struct supertype *st, s - } - /* There should be a duplicate backup superblock 4k before here */ - if (lseek64(fd, -4096, 1) < 0 || -- read(fd, &bsb2, 4096) != 4096) -+ read(fd, &bsb2, sizeof(bsb2)) != sizeof(bsb2)) - goto second_fail; /* Cannot find leading superblock */ - if (bsb.magic[15] == '1') - bsbsize = offsetof(struct mdp_backup_super, pad1); diff --git a/mdadm.spec b/mdadm.spec index 3b49c23..165217a 100644 --- a/mdadm.spec +++ b/mdadm.spec @@ -1,14 +1,12 @@ Summary: The mdadm program controls Linux md devices (software RAID arrays) Name: mdadm Version: 3.1.3 -Release: 0.git07202010.2%{?dist} -Source: http://www.kernel.org/pub/linux/utils/raid/mdadm/mdadm-%{version}-git07202010.tar.bz2 +Release: 0.git20100722.1%{?dist} +Source: http://www.kernel.org/pub/linux/utils/raid/mdadm/mdadm-%{version}-git20100722.tar.bz2 Source1: mdmonitor.init Source2: raid-check Source3: mdadm.rules Source4: mdadm-raid-check-sysconfig -Patch0: mdadm-3.1.3-read.patch -PAtch1: mdadm-3.1.2-lock.patch Patch20: mdadm-2.5.2-static.patch URL: http://www.kernel.org/pub/linux/utils/raid/mdadm/ License: GPLv2+ @@ -29,9 +27,7 @@ almost all functions without a configuration file, though a configuration file can be used to help with some common tasks. %prep -%setup -q -n mdadm-3.1.3-git07202010 -%patch0 -p1 -b .read -%patch1 -p1 -b .lock +%setup -q -n mdadm-3.1.3-git20100722 %patch20 -p1 -b .static %build @@ -77,6 +73,10 @@ fi %attr(0700,root,root) %dir /var/run/mdadm %changelog +* Thu Jul 22 2010 Doug Ledford - 3.1.3-0.git20100722.1 +- Change git date format to the correct format (YYYYMMDD) +- Update to latest upstream push (fixes bz604023) + * Tue Jul 20 2010 Doug Ledford - 3.1.3-0.git07202010.2 - Fix racy locking of mapfile (bz616596) diff --git a/sources b/sources index 1e36607..85cad52 100644 --- a/sources +++ b/sources @@ -1,2 +1,3 @@ c5a39f38c465229767a5af2a4eb81bef mdadm-3.1.2.tar.bz2 3c1df7259e17ed909ddd4b28e434f10a mdadm-3.1.3-git07202010.tar.bz2 +da4e77a02b267d61e0d4073f9a1ec324 mdadm-3.1.3-git20100722.tar.bz2