Mercurial > yaffs-ecoscentric
changeset 13:0d6eaf1cfded
Fix 2.6 special inodes
| author | charles |
|---|---|
| date | Sun, 24 Apr 2005 10:20:24 +0100 |
| parents | 0ea63ca43a42 |
| children | dff07ccbb891 |
| files | yaffs_fs.c |
| diffstat | 1 files changed, 11 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/yaffs_fs.c +++ b/yaffs_fs.c @@ -643,8 +643,11 @@ static void yaffs_FillInodeFromObject(st switch (obj->st_mode & S_IFMT) { default: // fifo, device or socket - init_special_inode(inode, obj->st_mode,(dev_t)(obj->st_rdev)); - break; +#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,5,0)) + init_special_inode(inode, obj->st_mode,old_decode_dev(obj->st_rdev)); +#else + init_special_inode(inode, obj->st_mode,(dev_t)(obj->st_rdev)); +#endif break; case S_IFREG: // file inode->i_op = &yaffs_file_inode_operations; inode->i_fop = &yaffs_file_operations; @@ -926,8 +929,11 @@ static int yaffs_mknod(struct inode *dir default: // Special (socket, fifo, device...) T(YAFFS_TRACE_OS,(KERN_DEBUG"yaffs_mknod: making special\n")); - obj = yaffs_MknodSpecial(parent,dentry->d_name.name,mode,current->uid, current->gid,rdev); - break; +#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,5,0)) + obj = yaffs_MknodSpecial(parent,dentry->d_name.name,mode,current->uid, current->gid,old_encode_dev(rdev)); +#else + obj = yaffs_MknodSpecial(parent,dentry->d_name.name,mode,current->uid, current->gid,rdev); +#endif break; case S_IFREG: // file T(YAFFS_TRACE_OS,(KERN_DEBUG"yaffs_mknod: making file\n")); obj = yaffs_MknodFile(parent,dentry->d_name.name,mode,current->uid, current->gid); @@ -1913,3 +1919,4 @@ MODULE_DESCRIPTION("YAFFS2 - a NAND spec MODULE_AUTHOR("Charles Manning, Aleph One Ltd., 2002,2003,2004"); MODULE_LICENSE("GPL"); +
