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/