]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
3.0-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 8 May 2013 20:42:50 +0000 (13:42 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 8 May 2013 20:42:50 +0000 (13:42 -0700)
added patches:
autofs-remove-autofs-dentry-mount-check.patch
powerpc-fix-numa-distance-for-form0-device-tree.patch

queue-3.0/autofs-remove-autofs-dentry-mount-check.patch [new file with mode: 0644]
queue-3.0/powerpc-fix-numa-distance-for-form0-device-tree.patch [new file with mode: 0644]
queue-3.0/series [new file with mode: 0644]

diff --git a/queue-3.0/autofs-remove-autofs-dentry-mount-check.patch b/queue-3.0/autofs-remove-autofs-dentry-mount-check.patch
new file mode 100644 (file)
index 0000000..4d3e63c
--- /dev/null
@@ -0,0 +1,48 @@
+From ce8a5dbdf9e709bdaf4618d7ef8cceb91e8adc69 Mon Sep 17 00:00:00 2001
+From: David Jeffery <djeffery@redhat.com>
+Date: Mon, 6 May 2013 13:49:30 +0800
+Subject: autofs - remove autofs dentry mount check
+
+From: David Jeffery <djeffery@redhat.com>
+
+commit ce8a5dbdf9e709bdaf4618d7ef8cceb91e8adc69 upstream.
+
+When checking if an autofs mount point is busy it isn't sufficient to
+only check if it's a mount point.
+
+For example, if the mount of an offset mountpoint in a tree is denied
+for this host by its export and the dentry becomes a process working
+directory the check incorrectly returns the mount as not in use at
+expire.
+
+This can happen since the default when mounting within a tree is
+nostrict, which means ingnore mount fails on mounts within the tree and
+continue.  The nostrict option is meant to allow mounting in this case.
+
+Signed-off-by: David Jeffery <djeffery@redhat.com>
+Signed-off-by: Ian Kent <raven@themaw.net>
+Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ fs/autofs4/expire.c |    9 ---------
+ 1 file changed, 9 deletions(-)
+
+--- a/fs/autofs4/expire.c
++++ b/fs/autofs4/expire.c
+@@ -61,15 +61,6 @@ static int autofs4_mount_busy(struct vfs
+               /* This is an autofs submount, we can't expire it */
+               if (autofs_type_indirect(sbi->type))
+                       goto done;
+-
+-              /*
+-               * Otherwise it's an offset mount and we need to check
+-               * if we can umount its mount, if there is one.
+-               */
+-              if (!d_mountpoint(path.dentry)) {
+-                      status = 0;
+-                      goto done;
+-              }
+       }
+       /* Update the expiry counter if fs is busy */
diff --git a/queue-3.0/powerpc-fix-numa-distance-for-form0-device-tree.patch b/queue-3.0/powerpc-fix-numa-distance-for-form0-device-tree.patch
new file mode 100644 (file)
index 0000000..28afd1c
--- /dev/null
@@ -0,0 +1,51 @@
+From 7122beeee7bc1757682049780179d7c216dd1c83 Mon Sep 17 00:00:00 2001
+From: Vaidyanathan Srinivasan <svaidy@linux.vnet.ibm.com>
+Date: Fri, 22 Mar 2013 05:49:35 +0000
+Subject: powerpc: fix numa distance for form0 device tree
+
+From: Vaidyanathan Srinivasan <svaidy@linux.vnet.ibm.com>
+
+commit 7122beeee7bc1757682049780179d7c216dd1c83 upstream.
+
+The following commit breaks numa distance setup for old powerpc
+systems that use form0 encoding in device tree.
+
+commit 41eab6f88f24124df89e38067b3766b7bef06ddb
+powerpc/numa: Use form 1 affinity to setup node distance
+
+Device tree node /rtas/ibm,associativity-reference-points would
+index into /cpus/PowerPCxxxx/ibm,associativity based on form0 or
+form1 encoding detected by ibm,architecture-vec-5 property.
+
+All modern systems use form1 and current kernel code is correct.
+However, on older systems with form0 encoding, the numa distance
+will get hard coded as LOCAL_DISTANCE for all nodes.  This causes
+task scheduling anomaly since scheduler will skip building numa
+level domain (topmost domain with all cpus) if all numa distances
+are same.  (value of 'level' in sched_init_numa() will remain 0)
+
+Prior to the above commit:
+((from) == (to) ? LOCAL_DISTANCE : REMOTE_DISTANCE)
+
+Restoring compatible behavior with this patch for old powerpc systems
+with device tree where numa distance are encoded as form0.
+
+Signed-off-by: Vaidyanathan Srinivasan <svaidy@linux.vnet.ibm.com>
+Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/powerpc/mm/numa.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/arch/powerpc/mm/numa.c
++++ b/arch/powerpc/mm/numa.c
+@@ -221,7 +221,7 @@ int __node_distance(int a, int b)
+       int distance = LOCAL_DISTANCE;
+       if (!form1_affinity)
+-              return distance;
++              return ((a == b) ? LOCAL_DISTANCE : REMOTE_DISTANCE);
+       for (i = 0; i < distance_ref_points_depth; i++) {
+               if (distance_lookup_table[a][i] == distance_lookup_table[b][i])
diff --git a/queue-3.0/series b/queue-3.0/series
new file mode 100644 (file)
index 0000000..b8d86dc
--- /dev/null
@@ -0,0 +1,2 @@
+powerpc-fix-numa-distance-for-form0-device-tree.patch
+autofs-remove-autofs-dentry-mount-check.patch