| To: | linux-kernel@xxxxxxxxxxxxxxx, stable@xxxxxxxxxx |
|---|---|
| Subject: | [xfs-masters] [patch 14/19] xfs: eagerly remove vmap mappings to avoid upsetting Xen |
| From: | Greg KH <gregkh@xxxxxxx> |
| Date: | Wed, 14 Nov 2007 22:15:06 -0800 |
| Cc: | Justin Forbes <jmforbes@xxxxxxxxxxx>, Zwane Mwaikambo <zwane@xxxxxxxxxxxxxxxx>, "Theodore Ts'o" <tytso@xxxxxxx>, Randy Dunlap <rdunlap@xxxxxxxxxxxx>, Dave Jones <davej@xxxxxxxxxx>, Chuck Wolber <chuckw@xxxxxxxxxxxxxxxx>, Chris Wedgwood <reviews@xxxxxxxxxxxxxx>, Michael Krufky <mkrufky@xxxxxxxxxxx>, Chuck Ebbert <cebbert@xxxxxxxxxx>, Domenico Andreoli <cavokz@xxxxxxxxx>, torvalds@xxxxxxxxxxxxxxxxxxxx, akpm@xxxxxxxxxxxxxxxxxxxx, alan@xxxxxxxxxxxxxxxxxxx, xen-devel@xxxxxxxxxxxxxxxxxxx, virtualization@xxxxxxxxxxxxxx, Mark Williamson <mark.williamson@xxxxxxxxxxxx>, XFS masters <xfs-masters@xxxxxxxxxxx>, Chris Wright <chrisw@xxxxxxxxxxxx>, Andi Kleen <ak@xxxxxx>, Morten B?geskov <xen-users@xxxxxxxxxxxxxxxxxx>, Keir Fraser <keir@xxxxxxxxxxxxx>, Jeremy Fitzhardinge <jeremy@xxxxxxxxxxxxx> |
| In-reply-to: | <20071115061415.GA7980@kroah.com> |
| References: | <20071115054813.977066477@mini.kroah.org> |
| Reply-to: | xfs-masters@xxxxxxxxxxx |
| Sender: | xfs-masters-bounce@xxxxxxxxxxx |
| User-agent: | Mutt/1.5.16 (2007-06-09) |
-stable review patch. If anyone has any objections, please let us know.
------------------
From: Jeremy Fitzhardinge <jeremy@xxxxxxxx>
patch ace2e92e193126711cb3a83a3752b2c5b8396950 in mainline.
XFS leaves stray mappings around when it vmaps memory to make it
virtually contigious. This upsets Xen if one of those pages is being
recycled into a pagetable, since it finds an extra writable mapping of
the page.
This patch solves the problem in a brute force way, by making XFS
always eagerly unmap its mappings.
[ Stable: This works around a bug in 2.6.23. We may come up with a
better solution for mainline, but this seems like a low-impact fix for
the stable kernel. ]
Signed-off-by: Jeremy Fitzhardinge <jeremy@xxxxxxxxxxxxx>
Cc: XFS masters <xfs-masters@xxxxxxxxxxx>
Cc: Morten =?utf-8?q?B=C3=B8geskov?= <xen-users@xxxxxxxxxxxxxxxxxx>
Cc: Mark Williamson <mark.williamson@xxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>
---
fs/xfs/linux-2.6/xfs_buf.c | 13 +++++++++++++
1 file changed, 13 insertions(+)
--- a/fs/xfs/linux-2.6/xfs_buf.c
+++ b/fs/xfs/linux-2.6/xfs_buf.c
@@ -187,6 +187,19 @@ free_address(
{
a_list_t *aentry;
+#ifdef CONFIG_XEN
+ /*
+ * Xen needs to be able to make sure it can get an exclusive
+ * RO mapping of pages it wants to turn into a pagetable. If
+ * a newly allocated page is also still being vmap()ed by xfs,
+ * it will cause pagetable construction to fail. This is a
+ * quick workaround to always eagerly unmap pages so that Xen
+ * is happy.
+ */
+ vunmap(addr);
+ return;
+#endif
+
aentry = kmalloc(sizeof(a_list_t), GFP_NOWAIT);
if (likely(aentry)) {
spin_lock(&as_lock);
--
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| ||
| Previous by Date: | [xfs-masters] Re: [PATCH] fs/xfs: remove duplicated defines, David Chinner |
|---|---|
| Next by Date: | [xfs-masters] [Bug 680] XFS_WANT_CORRUPTED_RETURN in xfs_alloc.c, bugzilla-daemon |
| Previous by Thread: | [xfs-masters] [Bug 9377] New: 2.6.24-rc2 XFS nfsd hang, bugme-daemon |
| Next by Thread: | [xfs-masters] [Bug 680] XFS_WANT_CORRUPTED_RETURN in xfs_alloc.c, bugzilla-daemon |
| Indexes: | [Date] [Thread] [Top] [All Lists] |