Whamcloud - gitweb
b=5981
authorjacob <jacob>
Tue, 29 Mar 2005 22:38:21 +0000 (22:38 +0000)
committerjacob <jacob>
Tue, 29 Mar 2005 22:38:21 +0000 (22:38 +0000)
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

lustre/include/linux/lustre_compat25.h
lustre/llite/rw.c

index 9b3a56d..bfc2ac5 100644 (file)
@@ -47,7 +47,7 @@
 #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)
 
@@ -191,6 +191,12 @@ static inline int clear_page_dirty_for_io(struct page *page)
         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);
index 5fec8fa..be467fa 100644 (file)
@@ -738,8 +738,7 @@ void ll_ap_completion(void *data, int cmd, struct obdo *oa, int rc)
                 if (cmd == OBD_BRW_READ) {
                         llap->llap_defer_uptodate = 0;
                 } else {
-                        set_page_dirty(page);
-                        ClearPageLaunder(page);
+                        ll_redirty_page(page);
                 }
                 SetPageError(page);
         }
@@ -1143,8 +1142,7 @@ out:
                 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);