projects
/
yaffs
/
.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
a2c93fd
)
Fixes for 2.6 special inodes
author
charles
<charles>
Sun, 24 Apr 2005 08:54:36 +0000
(08:54 +0000)
committer
charles
<charles>
Sun, 24 Apr 2005 08:54:36 +0000
(08:54 +0000)
yaffs_fs.c
patch
|
blob
|
history
yaffs_guts.c
patch
|
blob
|
history
diff --git
a/yaffs_fs.c
b/yaffs_fs.c
index e06b080dfdb6093126aac55ab34a4d533ee5939f..86a2559a41f8127b72acaae48c635d6705310412 100644
(file)
--- a/
yaffs_fs.c
+++ b/
yaffs_fs.c
@@
-29,7
+29,7
@@
*/
*/
-const char *yaffs_fs_c_version = "$Id: yaffs_fs.c,v 1.3
8 2005-04-05 03:49:1
6 charles Exp $";
+const char *yaffs_fs_c_version = "$Id: yaffs_fs.c,v 1.3
9 2005-04-24 08:54:3
6 charles Exp $";
extern const char *yaffs_guts_c_version;
extern const char *yaffs_guts_c_version;
@@
-640,7
+640,11
@@
static void yaffs_FillInodeFromObject(struct inode *inode, yaffs_Object *obj)
switch (obj->st_mode & S_IFMT)
{
default: // fifo, device or socket
switch (obj->st_mode & S_IFMT)
{
default: // fifo, device or socket
- init_special_inode(inode, obj->st_mode,(dev_t)(obj->st_rdev));
+#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;
break;
case S_IFREG: // file
inode->i_op = &yaffs_file_inode_operations;
@@
-904,7
+908,11
@@
static int yaffs_mknod(struct inode *dir, struct dentry *dentry, int mode, int r
default:
// Special (socket, fifo, device...)
T(YAFFS_TRACE_OS,("yaffs_mknod: making special\n"));
default:
// Special (socket, fifo, device...)
T(YAFFS_TRACE_OS,("yaffs_mknod: making special\n"));
- obj = yaffs_MknodSpecial(parent,dentry->d_name.name,mode,current->uid, current->gid,rdev);
+#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,("yaffs_mknod: making file\n"));
break;
case S_IFREG: // file
T(YAFFS_TRACE_OS,("yaffs_mknod: making file\n"));
@@
-1714,3
+1722,4
@@
MODULE_DESCRIPTION("YAFFS - a NAND specific flash file system");
MODULE_AUTHOR("Charles Manning, Aleph One Ltd., 2002");
MODULE_LICENSE("GPL");
MODULE_AUTHOR("Charles Manning, Aleph One Ltd., 2002");
MODULE_LICENSE("GPL");
+
diff --git
a/yaffs_guts.c
b/yaffs_guts.c
index 87fa7a99d2e3ff82aadce48b6b059d14971db519..e4a61c09d5d19b7332b17bbfa7ebe4580f520556 100644
(file)
--- a/
yaffs_guts.c
+++ b/
yaffs_guts.c
@@
-14,7
+14,7
@@
*/
//yaffs_guts.c
*/
//yaffs_guts.c
-const char *yaffs_guts_c_version="$Id: yaffs_guts.c,v 1.4
0 2005-04-05 03:45:40
charles Exp $";
+const char *yaffs_guts_c_version="$Id: yaffs_guts.c,v 1.4
1 2005-04-24 08:54:36
charles Exp $";
#include "yportenv.h"
#include "yportenv.h"
@@
-1828,7
+1828,7
@@
yaffs_Object *yaffs_MknodDirectory(yaffs_Object *parent,const char *name, __u32
yaffs_Object *yaffs_MknodSpecial(yaffs_Object *parent,const char *name, __u32 mode, __u32 uid, __u32 gid, __u32 rdev)
{
yaffs_Object *yaffs_MknodSpecial(yaffs_Object *parent,const char *name, __u32 mode, __u32 uid, __u32 gid, __u32 rdev)
{
- return yaffs_MknodObject(YAFFS_OBJECT_TYPE_
DIRECTORY
,parent,name,mode,uid,gid,NULL,NULL,rdev);
+ return yaffs_MknodObject(YAFFS_OBJECT_TYPE_
SPECIAL
,parent,name,mode,uid,gid,NULL,NULL,rdev);
}
yaffs_Object *yaffs_MknodSymLink(yaffs_Object *parent,const char *name, __u32 mode, __u32 uid, __u32 gid,const char *alias)
}
yaffs_Object *yaffs_MknodSymLink(yaffs_Object *parent,const char *name, __u32 mode, __u32 uid, __u32 gid,const char *alias)
@@
-3975,6
+3975,9
@@
static int yaffs_UnlinkWorker(yaffs_Object *obj)
case YAFFS_OBJECT_TYPE_SYMLINK:
return yaffs_DeleteSymLink(obj);
break;
case YAFFS_OBJECT_TYPE_SYMLINK:
return yaffs_DeleteSymLink(obj);
break;
+ case YAFFS_OBJECT_TYPE_SPECIAL:
+ return yaffs_DoGenericObjectDeletion(obj);
+ break;
case YAFFS_OBJECT_TYPE_HARDLINK:
case YAFFS_OBJECT_TYPE_UNKNOWN:
default:
case YAFFS_OBJECT_TYPE_HARDLINK:
case YAFFS_OBJECT_TYPE_UNKNOWN:
default:
@@
-5018,3
+5021,4
@@
void yaffs_GutsTest(yaffs_Device *dev)
+