aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Miklos Szeredi <miklos@szeredi.hu>2005-01-07 11:14:15 +0000
committerGravatar Miklos Szeredi <miklos@szeredi.hu>2005-01-07 11:14:15 +0000
commit2a92727c384e56875abf63ad66858fd72b53b344 (patch)
treea654a3b426ea0bc6d05a2f43921372b5391ffa4c
parentb62201925057936a05b4c0ca7fa65f9511a6df7f (diff)
fix
-rw-r--r--ChangeLog4
-rw-r--r--kernel/dev.c1
-rw-r--r--kernel/file.c32
-rw-r--r--kernel/inode.c10
4 files changed, 31 insertions, 16 deletions
diff --git a/ChangeLog b/ChangeLog
index da93c2b..2a5d69f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2005-01-07 Miklos Szeredi <miklos@szeredi.hu>
+
+ * Compile fix by Christian Magnusson
+
2005-01-05 Miklos Szeredi <miklos@szeredi.hu>
* Fix compilation for 2.6.{0-5} kernels
diff --git a/kernel/dev.c b/kernel/dev.c
index a2a44e4..e04fe3c 100644
--- a/kernel/dev.c
+++ b/kernel/dev.c
@@ -15,6 +15,7 @@
#include <linux/miscdevice.h>
#include <linux/pagemap.h>
#include <linux/file.h>
+#include <linux/slab.h>
static kmem_cache_t *fuse_req_cachep;
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
};
diff --git a/kernel/inode.c b/kernel/inode.c
index 525a5b6..c197d70 100644
--- a/kernel/inode.c
+++ b/kernel/inode.c
@@ -27,15 +27,19 @@ static kmem_cache_t *fuse_inode_cachep;
static int mount_count;
static int user_allow_other;
-static int mount_max = 1000;
#ifdef KERNEL_2_6
module_param(user_allow_other, int, 0644);
-module_param(mount_max, int, 0644);
#else
MODULE_PARM(user_allow_other, "i");
-MODULE_PARM(mount_max, "i");
#endif
MODULE_PARM_DESC(user_allow_other, "Allow non root user to specify the \"allow_other\" or \"allow_root\" mount options");
+
+static int mount_max = 1000;
+#ifdef KERNEL_2_6
+module_param(mount_max, int, 0644);
+#else
+MODULE_PARM(mount_max, "i");
+#endif
MODULE_PARM_DESC(mount_max, "Maximum number of FUSE mounts allowed, if -1 then unlimited (default: 1000)");
#define FUSE_SUPER_MAGIC 0x65735546