[PATCH 1/1 2.6.20-rc2] MM: ramfs breaks without CONFIG_BLOCK

From: dimitri . gorokhovik
Date: Tue Dec 26 2006 - 12:14:44 EST


From: Dimitri Gorokhovik <dimitri.gorokhovik@xxxxxxx>

ramfs doesn't provide the .set_dirty_page a_op, and when the BLOCK
layer is not configured in, 'set_page_dirty' makes a call via a NULL
pointer.

Signed-off-by: Dimitri Gorokhovik <dimitri.gorokhovik@xxxxxxx>

---

--- linux-2.6.20-rc2-orig/mm/page-writeback.c 2006-12-26
15:12:21.000000000 +0100
+++ linux-2.6.20-rc2/mm/page-writeback.c 2006-12-26 18:32:26.000000000
+0100
@@ -800,8 +800,8 @@ int redirty_page_for_writepage(struct wr
EXPORT_SYMBOL(redirty_page_for_writepage);

/*
- * If the mapping doesn't provide a set_page_dirty a_op, then
- * just fall through and assume that it wants buffer_heads.
+ * If the mapping doesn't provide a set_page_dirty a_op, and the BLOCK
layer is
+ * available, just fall through and assume that it wants buffer_heads.
*/
int fastcall set_page_dirty(struct page *page)
{
@@ -812,8 +812,12 @@ int fastcall set_page_dirty(struct page
#ifdef CONFIG_BLOCK
if (!spd)
spd = __set_page_dirty_buffers;
-#endif
return (*spd)(page);
+#else
+ if (spd)
+ return (*spd)(page);
+#endif
+
}
if (!PageDirty(page)) {
if (!TestSetPageDirty(page))


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/