Whamcloud - gitweb
LU-9771 flr: read support for flr
[fs/lustre-release.git] / lustre / llite / vvp_page.c
index 47d4863..42545a9 100644 (file)
@@ -269,8 +269,14 @@ static void vvp_page_completion_read(const struct lu_env *env,
        if (ioret == 0)  {
                if (!vpg->vpg_defer_uptodate)
                        cl_page_export(env, page, 1);
-       } else {
+       } else if (vpg->vpg_defer_uptodate) {
                vpg->vpg_defer_uptodate = 0;
+               if (ioret == -EWOULDBLOCK) {
+                       /* mirror read failed, it needs to destroy the page
+                        * because subpage would be from wrong osc when trying
+                        * to read from a new mirror */
+                       ll_invalidate_page(vmpage);
+               }
        }
 
        if (page->cp_sync_io == NULL)