|
@@ -1611,15 +1611,16 @@ int nfs_migrate_page(struct address_space *mapping, struct page *newpage,
|
|
|
if (ret)
|
|
|
goto out_unlock;
|
|
|
page_cache_get(newpage);
|
|
|
+ spin_lock(&mapping->host->i_lock);
|
|
|
req->wb_page = newpage;
|
|
|
SetPagePrivate(newpage);
|
|
|
- set_page_private(newpage, page_private(page));
|
|
|
+ set_page_private(newpage, (unsigned long)req);
|
|
|
ClearPagePrivate(page);
|
|
|
set_page_private(page, 0);
|
|
|
+ spin_unlock(&mapping->host->i_lock);
|
|
|
page_cache_release(page);
|
|
|
out_unlock:
|
|
|
nfs_clear_page_tag_locked(req);
|
|
|
- nfs_release_request(req);
|
|
|
out:
|
|
|
return ret;
|
|
|
}
|