]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
deleted queue-3.0/tmpfs-change-final-i_blocks-bug-to-warning.patch
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 20 Nov 2012 21:08:15 +0000 (13:08 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 20 Nov 2012 21:08:15 +0000 (13:08 -0800)
queue-3.0/series
queue-3.0/tmpfs-change-final-i_blocks-bug-to-warning.patch [deleted file]

index 7c5f0f15c09e824d20c86f8f53bcc0a3f818f089..e0a8d20d106303d28cbf03c6f878494e36e24efe 100644 (file)
@@ -13,7 +13,6 @@ ipv4-avoid-undefined-behavior-in-do_ip_setsockopt.patch
 ipv6-setsockopt-ipipproto_ipv6-ipv6_minhopcount-forgot-to-set-return-value.patch
 net-correct-check-in-dev_addr_del.patch
 net-rps-fix-brokeness-causing-ooo-packets.patch
-tmpfs-change-final-i_blocks-bug-to-warning.patch
 r8169-use-unlimited-dma-burst-for-tx.patch
 kbuild-fix-gcc-x-syntax.patch
 netfilter-validate-the-sequence-number-of-dataless-ack-packets-as-well.patch
diff --git a/queue-3.0/tmpfs-change-final-i_blocks-bug-to-warning.patch b/queue-3.0/tmpfs-change-final-i_blocks-bug-to-warning.patch
deleted file mode 100644 (file)
index cfdc42e..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-From 0f3c42f522dc1ad7e27affc0a4aa8c790bce0a66 Mon Sep 17 00:00:00 2001
-From: Hugh Dickins <hughd@google.com>
-Date: Fri, 16 Nov 2012 14:15:04 -0800
-Subject: tmpfs: change final i_blocks BUG to WARNING
-Status: RO
-Content-Length: 1912
-Lines: 45
-
-From: Hugh Dickins <hughd@google.com>
-
-commit 0f3c42f522dc1ad7e27affc0a4aa8c790bce0a66 upstream.
-
-Under a particular load on one machine, I have hit shmem_evict_inode()'s
-BUG_ON(inode->i_blocks), enough times to narrow it down to a particular
-race between swapout and eviction.
-
-It comes from the "if (freed > 0)" asymmetry in shmem_recalc_inode(),
-and the lack of coherent locking between mapping's nrpages and shmem's
-swapped count.  There's a window in shmem_writepage(), between lowering
-nrpages in shmem_delete_from_page_cache() and then raising swapped
-count, when the freed count appears to be +1 when it should be 0, and
-then the asymmetry stops it from being corrected with -1 before hitting
-the BUG.
-
-One answer is coherent locking: using tree_lock throughout, without
-info->lock; reasonable, but the raw_spin_lock in percpu_counter_add() on
-used_blocks makes that messier than expected.  Another answer may be a
-further effort to eliminate the weird shmem_recalc_inode() altogether,
-but previous attempts at that failed.
-
-So far undecided, but for now change the BUG_ON to WARN_ON: in usual
-circumstances it remains a useful consistency check.
-
-Signed-off-by: Hugh Dickins <hughd@google.com>
-Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
-Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
-
----
- mm/shmem.c |    2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
---- a/mm/shmem.c
-+++ b/mm/shmem.c
-@@ -848,7 +848,7 @@ static void shmem_evict_inode(struct ino
-               kfree(xattr->name);
-               kfree(xattr);
-       }
--      BUG_ON(inode->i_blocks);
-+      WARN_ON(inode->i_blocks);
-       shmem_free_inode(inode->i_sb);
-       end_writeback(inode);
- }