From: Dimitri Gorokhovik <[EMAIL PROTECTED]>

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 <[EMAIL PROTECTED]>

---

--- 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 [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to