r=oleg
fix for this patch from oleg.
this fixes oopses when running replay-single in UML for me, and
recovery-small for andreas somewhere
#define TryLockPage(page) TestSetPageLocked(page)
#define filemap_fdatasync(mapping) filemap_fdatawrite(mapping)
#define Page_Uptodate(page) PageUptodate(page)
-#define ClearPageLaunder(page) do {} while(0)
+#define ll_redirty_page(page) set_page_dirty(page)
#define KDEVT_INIT(val) (val)
return 0;
}
+static inline void ll_redirty_page(struct page *page)
+{
+ SetPageDirty(page);
+ ClearPageLaunder(page);
+}
+
static inline void __d_drop(struct dentry *dentry)
{
list_del(&dentry->d_hash);
if (cmd == OBD_BRW_READ) {
llap->llap_defer_uptodate = 0;
} else {
- set_page_dirty(page);
- ClearPageLaunder(page);
+ ll_redirty_page(page);
}
SetPageError(page);
}
if (!lli->lli_async_rc)
lli->lli_async_rc = rc;
/* re-dirty page on error so it retries write */
- set_page_dirty(page);
- ClearPageLaunder(page);
+ ll_redirty_page(page);
unlock_page(page);
}
RETURN(rc);