diff --git a/[refs] b/[refs] index 061acccef202..7a711ee6dda0 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 053e324f67b9921fe7de0c4cbc720d29cb4bf207 +refs/heads/master: 190f38e5cedc910940b1da9015f00458c18f97b4 diff --git a/trunk/fs/nfs/write.c b/trunk/fs/nfs/write.c index a28123be08a6..6d40a538e3db 100644 --- a/trunk/fs/nfs/write.c +++ b/trunk/fs/nfs/write.c @@ -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; }