aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/dir.c
diff options
context:
space:
mode:
authorMiklos Szeredi <miklos@szeredi.hu>2004-01-14 16:56:49 +0000
committerMiklos Szeredi <miklos@szeredi.hu>2004-01-14 16:56:49 +0000
commit7c35cf9df254b3d315a0036f8102afa72f0a382d (patch)
tree6dd07298fb2f7365e73280dbf8a16c946ed17bac /kernel/dir.c
parenta055d4ea6484742069fc1596bbd0e35fc7fd8782 (diff)
downloadlibfuse-7c35cf9df254b3d315a0036f8102afa72f0a382d.tar.gz
2.6 fixes
Diffstat (limited to 'kernel/dir.c')
-rw-r--r--kernel/dir.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/kernel/dir.c b/kernel/dir.c
index 7da5bc2..00b1e98 100644
--- a/kernel/dir.c
+++ b/kernel/dir.c
@@ -23,6 +23,11 @@ static struct dentry_operations fuse_dentry_opertations;
/* FIXME: This should be user configurable */
#define FUSE_REVALIDATE_TIME (1 * HZ)
+#ifndef KERNEL_2_6
+#define new_decode_dev(x) (x)
+#define new_encode_dev(x) (x)
+#endif
+
static void change_attributes(struct inode *inode, struct fuse_attr *attr)
{
if(S_ISREG(inode->i_mode) && inode->i_size != attr->size) {
@@ -71,7 +76,8 @@ static void fuse_init_inode(struct inode *inode, struct fuse_attr *attr)
}
else {
inode->i_op = &fuse_file_inode_operations;
- init_special_inode(inode, inode->i_mode, attr->rdev);
+ init_special_inode(inode, inode->i_mode,
+ new_decode_dev(attr->rdev));
}
inode->u.generic_ip = inode;
}
@@ -176,7 +182,7 @@ static int _fuse_mknod(struct inode *dir, struct dentry *entry, int mode,
memset(&inarg, 0, sizeof(inarg));
inarg.mode = mode;
- inarg.rdev = rdev;
+ inarg.rdev = new_encode_dev(rdev);
in.h.opcode = FUSE_MKNOD;
in.h.ino = dir->i_ino;