diff options
author | 2001-11-06 15:07:17 +0000 | |
---|---|---|
committer | 2001-11-06 15:07:17 +0000 | |
commit | 2df1c04f30802df9a23a19e22042884430c429d2 (patch) | |
tree | b1175acab6d7d4673b5d59f9d3b6e7c49532f195 /kernel/inode.c | |
parent | 21ed360572b816a11e7a37824907105882686446 (diff) |
cleanups
Diffstat (limited to 'kernel/inode.c')
-rw-r--r-- | kernel/inode.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/kernel/inode.c b/kernel/inode.c index 77e8469..5fb4a66 100644 --- a/kernel/inode.c +++ b/kernel/inode.c @@ -66,8 +66,8 @@ static struct fuse_conn *get_conn(struct fuse_mount_data *d) return NULL; } - if(d->version != FUSE_MOUNT_VERSION) { - printk("fuse_read_super: Bad mount version: %i\n", d->version); + if(d->version != FUSE_KERNEL_VERSION) { + printk("fuse_read_super: Bad version: %i\n", d->version); return NULL; } @@ -89,12 +89,12 @@ static struct fuse_conn *get_conn(struct fuse_mount_data *d) } -static struct inode *get_root_inode(struct super_block *sb) +static struct inode *get_root_inode(struct super_block *sb, unsigned int mode) { struct fuse_attr attr; memset(&attr, 0, sizeof(attr)); - attr.mode = S_IFDIR; + attr.mode = mode; return fuse_iget(sb, 1, &attr, 0); } @@ -103,20 +103,21 @@ static struct super_block *fuse_read_super(struct super_block *sb, { struct fuse_conn *fc; struct inode *root; + struct fuse_mount_data *d = data; sb->s_blocksize = 1024; sb->s_blocksize_bits = 10; sb->s_magic = FUSE_SUPER_MAGIC; sb->s_op = &fuse_super_operations; - root = get_root_inode(sb); + root = get_root_inode(sb, d->rootmode); if(root == NULL) { printk("fuse_read_super: failed to get root inode\n"); return NULL; } spin_lock(&fuse_lock); - fc = get_conn(data); + fc = get_conn(d); if(fc == NULL) goto err; |