projects
/
openwrt
/
staging
/
blogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
e95fc4a
)
NFS nfs_vm_page_mkwrite: Don't freeze me, Bro...
author
Trond Myklebust
<trond.myklebust@primarydata.com>
Thu, 23 Jun 2016 15:09:04 +0000
(11:09 -0400)
committer
Trond Myklebust
<trond.myklebust@primarydata.com>
Tue, 5 Jul 2016 23:11:08 +0000
(19:11 -0400)
Prevent filesystem freezes while handling the write page fault.
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
fs/nfs/file.c
patch
|
blob
|
history
diff --git
a/fs/nfs/file.c
b/fs/nfs/file.c
index 0e9b4a068f13ebebc4a4e076fc2e5d1a90b96ab9..039d58790629e1c8e6a993c0b8dec616647a854d 100644
(file)
--- a/
fs/nfs/file.c
+++ b/
fs/nfs/file.c
@@
-569,6
+569,8
@@
static int nfs_vm_page_mkwrite(struct vm_area_struct *vma, struct vm_fault *vmf)
filp, filp->f_mapping->host->i_ino,
(long long)page_offset(page));
+ sb_start_pagefault(inode->i_sb);
+
/* make sure the cache has finished storing the page */
nfs_fscache_wait_on_page_write(NFS_I(inode), page);
@@
-595,6
+597,7
@@
static int nfs_vm_page_mkwrite(struct vm_area_struct *vma, struct vm_fault *vmf)
out_unlock:
unlock_page(page);
out:
+ sb_end_pagefault(inode->i_sb);
return ret;
}