Loading fs/fuse/file.c +9 −6 Original line number Diff line number Diff line Loading @@ -1618,14 +1618,17 @@ static void fuse_vma_close(struct vm_area_struct *vma) static int fuse_page_mkwrite(struct vm_area_struct *vma, struct vm_fault *vmf) { struct page *page = vmf->page; /* * Don't use page->mapping as it may become NULL from a * concurrent truncate. */ struct inode *inode = vma->vm_file->f_mapping->host; struct inode *inode = file_inode(vma->vm_file); file_update_time(vma->vm_file); lock_page(page); if (page->mapping != inode->i_mapping) { unlock_page(page); return VM_FAULT_NOPAGE; } fuse_wait_on_page_writeback(inode, page->index); return 0; return VM_FAULT_LOCKED; } static const struct vm_operations_struct fuse_file_vm_ops = { Loading Loading
fs/fuse/file.c +9 −6 Original line number Diff line number Diff line Loading @@ -1618,14 +1618,17 @@ static void fuse_vma_close(struct vm_area_struct *vma) static int fuse_page_mkwrite(struct vm_area_struct *vma, struct vm_fault *vmf) { struct page *page = vmf->page; /* * Don't use page->mapping as it may become NULL from a * concurrent truncate. */ struct inode *inode = vma->vm_file->f_mapping->host; struct inode *inode = file_inode(vma->vm_file); file_update_time(vma->vm_file); lock_page(page); if (page->mapping != inode->i_mapping) { unlock_page(page); return VM_FAULT_NOPAGE; } fuse_wait_on_page_writeback(inode, page->index); return 0; return VM_FAULT_LOCKED; } static const struct vm_operations_struct fuse_file_vm_ops = { Loading