diff options
author | Miklos Szeredi <miklos@szeredi.hu> | 2005-01-07 11:14:15 +0000 |
---|---|---|
committer | Miklos Szeredi <miklos@szeredi.hu> | 2005-01-07 11:14:15 +0000 |
commit | 2a92727c384e56875abf63ad66858fd72b53b344 (patch) | |
tree | a654a3b426ea0bc6d05a2f43921372b5391ffa4c /kernel/file.c | |
parent | b62201925057936a05b4c0ca7fa65f9511a6df7f (diff) | |
download | libfuse-2a92727c384e56875abf63ad66858fd72b53b344.tar.gz |
fix
Diffstat (limited to 'kernel/file.c')
-rw-r--r-- | kernel/file.c | 32 |
1 files changed, 19 insertions, 13 deletions
diff --git a/kernel/file.c b/kernel/file.c index b7359c5..7a69cb8 100644 --- a/kernel/file.c +++ b/kernel/file.c @@ -65,18 +65,16 @@ static int fuse_open(struct inode *inode, struct file *file) req->out.args[0].value = &outarg; request_send(fc, req); err = req->out.h.error; - if (!err && !(fc->flags & FUSE_KERNEL_CACHE)) { + if (!err && !(fc->flags & FUSE_KERNEL_CACHE)) #ifdef KERNEL_2_6 invalidate_inode_pages(inode->i_mapping); #else invalidate_inode_pages(inode); #endif - } if (err) { fuse_request_free(ff->release_req); kfree(ff); - } - else { + } else { ff->fh = outarg.fh; file->private_data = ff; } @@ -605,17 +603,25 @@ static int fuse_file_mmap(struct file *file, struct vm_area_struct *vma) if (fc->flags & FUSE_DIRECT_IO) return -ENODEV; - else { - if ((vma->vm_flags & VM_SHARED)) { - if ((vma->vm_flags & VM_WRITE)) - return -ENODEV; - else - vma->vm_flags &= ~VM_MAYWRITE; - } - return generic_file_mmap(file, vma); + + if ((vma->vm_flags & VM_SHARED)) { + if ((vma->vm_flags & VM_WRITE)) + return -ENODEV; + else + vma->vm_flags &= ~VM_MAYWRITE; } + return generic_file_mmap(file, vma); } +#ifdef KERNEL_2_6 +static int fuse_set_page_dirty(struct page *page) +{ + printk("fuse_set_page_dirty: should not happen\n"); + dump_stack(); + return 0; +} +#endif + static struct file_operations fuse_file_operations = { .read = fuse_file_read, .write = fuse_file_write, @@ -635,7 +641,7 @@ static struct address_space_operations fuse_file_aops = { .commit_write = fuse_commit_write, #ifdef KERNEL_2_6 .readpages = fuse_readpages, - .set_page_dirty = __set_page_dirty_nobuffers, + .set_page_dirty = fuse_set_page_dirty, #endif }; |