aboutsummaryrefslogtreecommitdiffstats
path: root/fs/fuse/file.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/fuse/file.c')
-rw-r--r--fs/fuse/file.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/fs/fuse/file.c b/fs/fuse/file.c
index d9fdb7cec538..4e340fedf768 100644
--- a/fs/fuse/file.c
+++ b/fs/fuse/file.c
@@ -1234,8 +1234,9 @@ static void fuse_vma_close(struct vm_area_struct *vma)
1234 * - sync(2) 1234 * - sync(2)
1235 * - try_to_free_pages() with order > PAGE_ALLOC_COSTLY_ORDER 1235 * - try_to_free_pages() with order > PAGE_ALLOC_COSTLY_ORDER
1236 */ 1236 */
1237static int fuse_page_mkwrite(struct vm_area_struct *vma, struct page *page) 1237static int fuse_page_mkwrite(struct vm_area_struct *vma, struct vm_fault *vmf)
1238{ 1238{
1239 struct page *page = vmf->page;
1239 /* 1240 /*
1240 * Don't use page->mapping as it may become NULL from a 1241 * Don't use page->mapping as it may become NULL from a
1241 * concurrent truncate. 1242 * concurrent truncate.
@@ -1465,7 +1466,7 @@ static loff_t fuse_file_llseek(struct file *file, loff_t offset, int origin)
1465 case SEEK_END: 1466 case SEEK_END:
1466 retval = fuse_update_attributes(inode, NULL, file, NULL); 1467 retval = fuse_update_attributes(inode, NULL, file, NULL);
1467 if (retval) 1468 if (retval)
1468 return retval; 1469 goto exit;
1469 offset += i_size_read(inode); 1470 offset += i_size_read(inode);
1470 break; 1471 break;
1471 case SEEK_CUR: 1472 case SEEK_CUR:
@@ -1479,6 +1480,7 @@ static loff_t fuse_file_llseek(struct file *file, loff_t offset, int origin)
1479 } 1480 }
1480 retval = offset; 1481 retval = offset;
1481 } 1482 }
1483exit:
1482 mutex_unlock(&inode->i_mutex); 1484 mutex_unlock(&inode->i_mutex);
1483 return retval; 1485 return retval;
1484} 1486}