Re: NFS broken in latest 2.6.37-rcX

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 2011-01-05 at 19:31 +0100, Guy Martin wrote:
> James,
> 
> Thanks for pointing me to the thread.
> 
> I reached similar conclusion as well. After adding lots of printk, I
> could see that the page where the skb buff is copied is not or
> partially updated when being read by xdr_page_filler.

So does this fix it?

James

---

diff --git a/fs/nfs/dir.c b/fs/nfs/dir.c
index 996dd89..37d7347 100644
--- a/fs/nfs/dir.c
+++ b/fs/nfs/dir.c
@@ -1783,6 +1783,7 @@ static int nfs_symlink(struct inode *dir, struct dentry *dentry, const char *sym
 	memcpy(kaddr, symname, pathlen);
 	if (pathlen < PAGE_SIZE)
 		memset(kaddr + pathlen, 0, PAGE_SIZE - pathlen);
+	flush_kernel_dcache_page(page);
 	kunmap_atomic(kaddr, KM_USER0);
 
 	error = NFS_PROTO(dir)->symlink(dir, dentry, page, pathlen, &attr);
diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c
index 4435e5e..9a6bfea 100644
--- a/fs/nfs/nfs4proc.c
+++ b/fs/nfs/nfs4proc.c
@@ -205,6 +205,7 @@ static void nfs4_setup_readdir(u64 cookie, __be32 *verifier, struct dentry *dent
 
 	readdir->pgbase = (char *)p - (char *)start;
 	readdir->count -= readdir->pgbase;
+	flush_kernel_dcache_page(*readdir->pages);
 	kunmap_atomic(start, KM_USER0);
 }
 


--
To unsubscribe from this list: send the line "unsubscribe linux-parisc" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux SoC]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux