dcavalca / rpms / mdadm

Forked from rpms/mdadm 3 years ago
Clone

Blame SOURCES/kernel-patch-Remove-obsolete-kernel-patches-against-.patch

b7f731
From 2b7bddf06c30da08f8d6270b40f0d382c1c5fc6e Mon Sep 17 00:00:00 2001
b7f731
From: Jes Sorensen <jsorensen@fb.com>
b7f731
Date: Thu, 4 May 2017 11:39:05 -0400
b7f731
Subject: [RHEL7.5 PATCH 107/169] kernel-patch: Remove obsolete kernel
b7f731
 patches against 2.6
b7f731
b7f731
While we still support some of these kernels, I do not think it makes
b7f731
sense to carry this patches around at this point.
b7f731
b7f731
Signed-off-by: Jes Sorensen <jsorensen@fb.com>
b7f731
---
b7f731
 kernel-patch-2.6.18   |  35 ---------
b7f731
 kernel-patch-2.6.18.6 |  35 ---------
b7f731
 kernel-patch-2.6.19   |  34 ---------
b7f731
 kernel-patch-2.6.25   | 199 --------------------------------------------------
b7f731
 kernel-patch-2.6.27   |  36 ---------
b7f731
 5 files changed, 339 deletions(-)
b7f731
 delete mode 100644 kernel-patch-2.6.18
b7f731
 delete mode 100644 kernel-patch-2.6.18.6
b7f731
 delete mode 100644 kernel-patch-2.6.19
b7f731
 delete mode 100644 kernel-patch-2.6.25
b7f731
 delete mode 100644 kernel-patch-2.6.27
b7f731
b7f731
diff --git a/kernel-patch-2.6.18 b/kernel-patch-2.6.18
b7f731
deleted file mode 100644
b7f731
index 87496ea..0000000
b7f731
--- a/kernel-patch-2.6.18
b7f731
+++ /dev/null
b7f731
@@ -1,35 +0,0 @@
b7f731
-
b7f731
-### Diffstat output
b7f731
- ./drivers/md/md.c |    6 +++++-
b7f731
- 1 file changed, 5 insertions(+), 1 deletion(-)
b7f731
-
b7f731
-diff .prev/drivers/md/md.c ./drivers/md/md.c
b7f731
---- .prev/drivers/md/md.c	2006-10-23 10:26:37.000000000 +1000
b7f731
-+++ ./drivers/md/md.c	2006-12-21 16:28:29.000000000 +1100
b7f731
-@@ -1783,7 +1783,8 @@ state_store(mdk_rdev_t *rdev, const char
b7f731
- 		else {
b7f731
- 			mddev_t *mddev = rdev->mddev;
b7f731
- 			kick_rdev_from_array(rdev);
b7f731
--			md_update_sb(mddev);
b7f731
-+			if (mddev->pers)
b7f731
-+				md_update_sb(mddev);
b7f731
- 			md_new_event(mddev);
b7f731
- 			err = 0;
b7f731
- 		}
b7f731
-@@ -1994,6 +1995,8 @@ static mdk_rdev_t *md_import_device(dev_
b7f731
- 	kobject_init(&rdev->kobj);
b7f731
- 
b7f731
- 	rdev->desc_nr = -1;
b7f731
-+	rdev->saved_raid_disk = -1;
b7f731
-+	rdev->raid_disk = -1;
b7f731
- 	rdev->flags = 0;
b7f731
- 	rdev->data_offset = 0;
b7f731
- 	rdev->sb_events = 0;
b7f731
-@@ -3991,6 +3994,7 @@ static int set_array_info(mddev_t * mdde
b7f731
- 		mddev->major_version = info->major_version;
b7f731
- 		mddev->minor_version = info->minor_version;
b7f731
- 		mddev->patch_version = info->patch_version;
b7f731
-+		mddev->persistent = ! info->not_persistent;
b7f731
- 		return 0;
b7f731
- 	}
b7f731
- 	mddev->major_version = MD_MAJOR_VERSION;
b7f731
diff --git a/kernel-patch-2.6.18.6 b/kernel-patch-2.6.18.6
b7f731
deleted file mode 100644
b7f731
index e702e14..0000000
b7f731
--- a/kernel-patch-2.6.18.6
b7f731
+++ /dev/null
b7f731
@@ -1,35 +0,0 @@
b7f731
-Signed-off-by: Neil Brown <neilb@suse.de>
b7f731
-
b7f731
-### Diffstat output
b7f731
- ./drivers/md/md.c |    5 ++++-
b7f731
- 1 file changed, 4 insertions(+), 1 deletion(-)
b7f731
-
b7f731
-diff .prev/drivers/md/md.c ./drivers/md/md.c
b7f731
---- .prev/drivers/md/md.c	2006-12-21 17:08:23.000000000 +1100
b7f731
-+++ ./drivers/md/md.c	2006-12-21 17:08:26.000000000 +1100
b7f731
-@@ -1783,7 +1783,8 @@ state_store(mdk_rdev_t *rdev, const char
b7f731
- 		else {
b7f731
- 			mddev_t *mddev = rdev->mddev;
b7f731
- 			kick_rdev_from_array(rdev);
b7f731
--			md_update_sb(mddev);
b7f731
-+			if (mddev->pers)
b7f731
-+				md_update_sb(mddev);
b7f731
- 			md_new_event(mddev);
b7f731
- 			err = 0;
b7f731
- 		}
b7f731
-@@ -1995,6 +1996,7 @@ static mdk_rdev_t *md_import_device(dev_
b7f731
- 
b7f731
- 	rdev->desc_nr = -1;
b7f731
- 	rdev->saved_raid_disk = -1;
b7f731
-+	rdev->raid_disk = -1;
b7f731
- 	rdev->flags = 0;
b7f731
- 	rdev->data_offset = 0;
b7f731
- 	rdev->sb_events = 0;
b7f731
-@@ -3993,6 +3995,7 @@ static int set_array_info(mddev_t * mdde
b7f731
- 		mddev->major_version = info->major_version;
b7f731
- 		mddev->minor_version = info->minor_version;
b7f731
- 		mddev->patch_version = info->patch_version;
b7f731
-+		mddev->persistent = ! info->not_persistent;
b7f731
- 		return 0;
b7f731
- 	}
b7f731
- 	mddev->major_version = MD_MAJOR_VERSION;
b7f731
diff --git a/kernel-patch-2.6.19 b/kernel-patch-2.6.19
b7f731
deleted file mode 100644
b7f731
index 22a67a3..0000000
b7f731
--- a/kernel-patch-2.6.19
b7f731
+++ /dev/null
b7f731
@@ -1,34 +0,0 @@
b7f731
-
b7f731
-### Diffstat output
b7f731
- ./drivers/md/md.c |    5 ++++-
b7f731
- 1 file changed, 4 insertions(+), 1 deletion(-)
b7f731
-
b7f731
-diff .prev/drivers/md/md.c ./drivers/md/md.c
b7f731
---- .prev/drivers/md/md.c	2006-12-21 15:55:01.000000000 +1100
b7f731
-+++ ./drivers/md/md.c	2006-12-21 16:28:09.000000000 +1100
b7f731
-@@ -1792,7 +1792,8 @@ state_store(mdk_rdev_t *rdev, const char
b7f731
- 		else {
b7f731
- 			mddev_t *mddev = rdev->mddev;
b7f731
- 			kick_rdev_from_array(rdev);
b7f731
--			md_update_sb(mddev, 1);
b7f731
-+			if (mddev->pers)
b7f731
-+				md_update_sb(mddev, 1);
b7f731
- 			md_new_event(mddev);
b7f731
- 			err = 0;
b7f731
- 		}
b7f731
-@@ -2004,6 +2005,7 @@ static mdk_rdev_t *md_import_device(dev_
b7f731
- 
b7f731
- 	rdev->desc_nr = -1;
b7f731
- 	rdev->saved_raid_disk = -1;
b7f731
-+	rdev->raid_disk = -1;
b7f731
- 	rdev->flags = 0;
b7f731
- 	rdev->data_offset = 0;
b7f731
- 	rdev->sb_events = 0;
b7f731
-@@ -3977,6 +3979,7 @@ static int set_array_info(mddev_t * mdde
b7f731
- 		mddev->major_version = info->major_version;
b7f731
- 		mddev->minor_version = info->minor_version;
b7f731
- 		mddev->patch_version = info->patch_version;
b7f731
-+		mddev->persistent = ! info->not_persistent;
b7f731
- 		return 0;
b7f731
- 	}
b7f731
- 	mddev->major_version = MD_MAJOR_VERSION;
b7f731
diff --git a/kernel-patch-2.6.25 b/kernel-patch-2.6.25
b7f731
deleted file mode 100644
b7f731
index 2329007..0000000
b7f731
--- a/kernel-patch-2.6.25
b7f731
+++ /dev/null
b7f731
@@ -1,199 +0,0 @@
b7f731
-Status: ok
b7f731
-
b7f731
-Support adding a spare to a live md array with external metadata.
b7f731
-
b7f731
-i.e. extend the 'md/dev-XXX/slot' attribute so that you can
b7f731
-tell a device to fill an vacant slot in an and md array.
b7f731
-
b7f731
-
b7f731
-Signed-off-by: Neil Brown <neilb@suse.de>
b7f731
-
b7f731
-### Diffstat output
b7f731
- ./drivers/md/md.c        |   44 ++++++++++++++++++++++++++++++++++++++++----
b7f731
- ./drivers/md/multipath.c |    7 ++++++-
b7f731
- ./drivers/md/raid1.c     |    7 ++++++-
b7f731
- ./drivers/md/raid10.c    |   10 ++++++++--
b7f731
- ./drivers/md/raid5.c     |   10 ++++++++--
b7f731
- 5 files changed, 68 insertions(+), 10 deletions(-)
b7f731
-
b7f731
-diff .prev/drivers/md/md.c ./drivers/md/md.c
b7f731
---- .prev/drivers/md/md.c	2008-06-05 09:19:56.000000000 +1000
b7f731
-+++ ./drivers/md/md.c	2008-06-10 10:41:21.000000000 +1000
b7f731
-@@ -1932,7 +1932,7 @@ slot_store(mdk_rdev_t *rdev, const char 
b7f731
- 		slot = -1;
b7f731
- 	else if (e==buf || (*e && *e!= '\n'))
b7f731
- 		return -EINVAL;
b7f731
--	if (rdev->mddev->pers) {
b7f731
-+	if (rdev->mddev->pers && slot == -1) {
b7f731
- 		/* Setting 'slot' on an active array requires also
b7f731
- 		 * updating the 'rd%d' link, and communicating
b7f731
- 		 * with the personality with ->hot_*_disk.
b7f731
-@@ -1940,8 +1940,6 @@ slot_store(mdk_rdev_t *rdev, const char 
b7f731
- 		 * failed/spare devices.  This normally happens automatically,
b7f731
- 		 * but not when the metadata is externally managed.
b7f731
- 		 */
b7f731
--		if (slot != -1)
b7f731
--			return -EBUSY;
b7f731
- 		if (rdev->raid_disk == -1)
b7f731
- 			return -EEXIST;
b7f731
- 		/* personality does all needed checks */
b7f731
-@@ -1955,6 +1953,44 @@ slot_store(mdk_rdev_t *rdev, const char 
b7f731
- 		sysfs_remove_link(&rdev->mddev->kobj, nm);
b7f731
- 		set_bit(MD_RECOVERY_NEEDED, &rdev->mddev->recovery);
b7f731
- 		md_wakeup_thread(rdev->mddev->thread);
b7f731
-+	} else if (rdev->mddev->pers) {
b7f731
-+		mdk_rdev_t *rdev2;
b7f731
-+		struct list_head *tmp;
b7f731
-+		/* Activating a spare .. or possibly reactivating
b7f731
-+		 * if we every get bitmaps working here.
b7f731
-+		 */
b7f731
-+
b7f731
-+		if (rdev->raid_disk != -1)
b7f731
-+			return -EBUSY;
b7f731
-+
b7f731
-+		if (rdev->mddev->pers->hot_add_disk == NULL)
b7f731
-+			return -EINVAL;
b7f731
-+
b7f731
-+		rdev_for_each(rdev2, tmp, rdev->mddev)
b7f731
-+			if (rdev2->raid_disk == slot)
b7f731
-+				return -EEXIST;
b7f731
-+
b7f731
-+		rdev->raid_disk = slot;
b7f731
-+		if (test_bit(In_sync, &rdev->flags))
b7f731
-+			rdev->saved_raid_disk = slot;
b7f731
-+		else
b7f731
-+			rdev->saved_raid_disk = -1;
b7f731
-+		err = rdev->mddev->pers->
b7f731
-+			hot_add_disk(rdev->mddev, rdev);
b7f731
-+		if (err != 1) {
b7f731
-+			rdev->raid_disk = -1;
b7f731
-+			if (err == 0)
b7f731
-+				return -EEXIST;
b7f731
-+			return err;
b7f731
-+		}
b7f731
-+		sprintf(nm, "rd%d", rdev->raid_disk);
b7f731
-+		if (sysfs_create_link(&rdev->mddev->kobj, &rdev->kobj, nm))
b7f731
-+			printk(KERN_WARNING
b7f731
-+			       "md: cannot register "
b7f731
-+			       "%s for %s\n",
b7f731
-+			       nm, mdname(rdev->mddev));
b7f731
-+
b7f731
-+		/* don't wakeup anyone, leave that to userspace. */
b7f731
- 	} else {
b7f731
- 		if (slot >= rdev->mddev->raid_disks)
b7f731
- 			return -ENOSPC;
b7f731
-@@ -4205,7 +4241,7 @@ static int add_new_disk(mddev_t * mddev,
b7f731
- 			super_types[mddev->major_version].
b7f731
- 				validate_super(mddev, rdev);
b7f731
- 			err = mddev->pers->hot_add_disk(mddev, rdev);
b7f731
--			if (err)
b7f731
-+			if (err < 0)
b7f731
- 				unbind_rdev_from_array(rdev);
b7f731
- 		}
b7f731
- 		if (err)
b7f731
-
b7f731
-diff .prev/drivers/md/multipath.c ./drivers/md/multipath.c
b7f731
---- .prev/drivers/md/multipath.c	2008-05-30 14:49:31.000000000 +1000
b7f731
-+++ ./drivers/md/multipath.c	2008-06-10 10:35:03.000000000 +1000
b7f731
-@@ -284,10 +284,15 @@ static int multipath_add_disk(mddev_t *m
b7f731
- 	int found = 0;
b7f731
- 	int path;
b7f731
- 	struct multipath_info *p;
b7f731
-+	int first = 0;
b7f731
-+	int last = mddev->raid_disks - 1;
b7f731
-+
b7f731
-+	if (rdev->raid_disk >= 0)
b7f731
-+		first = last = rdev->raid_disk;
b7f731
- 
b7f731
- 	print_multipath_conf(conf);
b7f731
- 
b7f731
--	for (path=0; path<mddev->raid_disks; path++) 
b7f731
-+	for (path = first; path <= last; path++)
b7f731
- 		if ((p=conf->multipaths+path)->rdev == NULL) {
b7f731
- 			q = rdev->bdev->bd_disk->queue;
b7f731
- 			blk_queue_stack_limits(mddev->queue, q);
b7f731
-
b7f731
-diff .prev/drivers/md/raid10.c ./drivers/md/raid10.c
b7f731
---- .prev/drivers/md/raid10.c	2008-05-30 14:49:31.000000000 +1000
b7f731
-+++ ./drivers/md/raid10.c	2008-06-10 10:28:53.000000000 +1000
b7f731
-@@ -1116,6 +1116,8 @@ static int raid10_add_disk(mddev_t *mdde
b7f731
- 	int found = 0;
b7f731
- 	int mirror;
b7f731
- 	mirror_info_t *p;
b7f731
-+	int first = 0;
b7f731
-+	int last = mddev->raid_disks - 1;
b7f731
- 
b7f731
- 	if (mddev->recovery_cp < MaxSector)
b7f731
- 		/* only hot-add to in-sync arrays, as recovery is
b7f731
-@@ -1125,12 +1127,16 @@ static int raid10_add_disk(mddev_t *mdde
b7f731
- 	if (!enough(conf))
b7f731
- 		return 0;
b7f731
- 
b7f731
-+	if (rdev->raid_disk)
b7f731
-+		first = last = rdev->raid_disk;
b7f731
-+
b7f731
- 	if (rdev->saved_raid_disk >= 0 &&
b7f731
-+	    rdev->saved_raid_disk >= first &&
b7f731
- 	    conf->mirrors[rdev->saved_raid_disk].rdev == NULL)
b7f731
- 		mirror = rdev->saved_raid_disk;
b7f731
- 	else
b7f731
--		mirror = 0;
b7f731
--	for ( ; mirror < mddev->raid_disks; mirror++)
b7f731
-+		mirror = first;
b7f731
-+	for ( ; mirror <= last ; mirror++)
b7f731
- 		if ( !(p=conf->mirrors+mirror)->rdev) {
b7f731
- 
b7f731
- 			blk_queue_stack_limits(mddev->queue,
b7f731
-
b7f731
-diff .prev/drivers/md/raid1.c ./drivers/md/raid1.c
b7f731
---- .prev/drivers/md/raid1.c	2008-05-30 14:49:31.000000000 +1000
b7f731
-+++ ./drivers/md/raid1.c	2008-06-10 10:41:00.000000000 +1000
b7f731
-@@ -1103,8 +1103,13 @@ static int raid1_add_disk(mddev_t *mddev
b7f731
- 	int found = 0;
b7f731
- 	int mirror = 0;
b7f731
- 	mirror_info_t *p;
b7f731
-+	int first = 0;
b7f731
-+	int last = mddev->raid_disks - 1;
b7f731
- 
b7f731
--	for (mirror=0; mirror < mddev->raid_disks; mirror++)
b7f731
-+	if (rdev->raid_disk >= 0)
b7f731
-+		first = last = rdev->raid_disk;
b7f731
-+
b7f731
-+	for (mirror = first; mirror <= last; mirror++)
b7f731
- 		if ( !(p=conf->mirrors+mirror)->rdev) {
b7f731
- 
b7f731
- 			blk_queue_stack_limits(mddev->queue,
b7f731
-
b7f731
-diff .prev/drivers/md/raid5.c ./drivers/md/raid5.c
b7f731
---- .prev/drivers/md/raid5.c	2008-05-30 14:49:35.000000000 +1000
b7f731
-+++ ./drivers/md/raid5.c	2008-06-10 10:27:51.000000000 +1000
b7f731
-@@ -4399,21 +4399,27 @@ static int raid5_add_disk(mddev_t *mddev
b7f731
- 	int found = 0;
b7f731
- 	int disk;
b7f731
- 	struct disk_info *p;
b7f731
-+	int first = 0;
b7f731
-+	int last = conf->raid_disks - 1;
b7f731
- 
b7f731
- 	if (mddev->degraded > conf->max_degraded)
b7f731
- 		/* no point adding a device */
b7f731
- 		return 0;
b7f731
- 
b7f731
-+	if (rdev->raid_disk >= 0)
b7f731
-+		first = last = rdev->raid_disk;
b7f731
-+
b7f731
- 	/*
b7f731
- 	 * find the disk ... but prefer rdev->saved_raid_disk
b7f731
- 	 * if possible.
b7f731
- 	 */
b7f731
- 	if (rdev->saved_raid_disk >= 0 &&
b7f731
-+	    rdev->saved_raid_disk >= first &&
b7f731
- 	    conf->disks[rdev->saved_raid_disk].rdev == NULL)
b7f731
- 		disk = rdev->saved_raid_disk;
b7f731
- 	else
b7f731
--		disk = 0;
b7f731
--	for ( ; disk < conf->raid_disks; disk++)
b7f731
-+		disk = first;
b7f731
-+	for ( ; disk <= last ; disk++)
b7f731
- 		if ((p=conf->disks + disk)->rdev == NULL) {
b7f731
- 			clear_bit(In_sync, &rdev->flags);
b7f731
- 			rdev->raid_disk = disk;
b7f731
diff --git a/kernel-patch-2.6.27 b/kernel-patch-2.6.27
b7f731
deleted file mode 100644
b7f731
index 8d0785d..0000000
b7f731
--- a/kernel-patch-2.6.27
b7f731
+++ /dev/null
b7f731
@@ -1,36 +0,0 @@
b7f731
-touch_mnt_namespace when the mount flags change
b7f731
-
b7f731
-From: Dan Williams <dan.j.williams@intel.com>
b7f731
-
b7f731
-Daemons that need to be launched while the rootfs is read-only can now
b7f731
-poll /proc/mounts to be notified when their O_RDWR requests may no
b7f731
-longer end in EROFS.
b7f731
-
b7f731
-Cc: Kay Sievers <kay.sievers@vrfy.org>
b7f731
-Cc: Neil Brown <neilb@suse.de>
b7f731
-Signed-off-by: Dan Williams <dan.j.williams@intel.com>
b7f731
----
b7f731
-
b7f731
- fs/namespace.c |    7 ++++++-
b7f731
- 1 files changed, 6 insertions(+), 1 deletions(-)
b7f731
-
b7f731
-
b7f731
-diff --git a/fs/namespace.c b/fs/namespace.c
b7f731
-index 6e283c9..1bd5ba2 100644
b7f731
---- a/fs/namespace.c
b7f731
-+++ b/fs/namespace.c
b7f731
-@@ -1553,8 +1553,13 @@ static noinline int do_remount(struct nameidata *nd, int flags, int mnt_flags,
b7f731
- 	if (!err)
b7f731
- 		nd->path.mnt->mnt_flags = mnt_flags;
b7f731
- 	up_write(&sb->s_umount);
b7f731
--	if (!err)
b7f731
-+	if (!err) {
b7f731
- 		security_sb_post_remount(nd->path.mnt, flags, data);
b7f731
-+
b7f731
-+		spin_lock(&vfsmount_lock);
b7f731
-+		touch_mnt_namespace(nd->path.mnt->mnt_ns);
b7f731
-+		spin_unlock(&vfsmount_lock);
b7f731
-+	}
b7f731
- 	return err;
b7f731
- }
b7f731
- 
b7f731
-- 
b7f731
2.7.4
b7f731