projects
/
yaffs2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
yaffs Fix problem trying to mkdir a mountpt in yaffs direct
[yaffs2.git]
/
direct
/
yaffsfs.c
diff --git
a/direct/yaffsfs.c
b/direct/yaffsfs.c
index b93f29534962ac909489f81cfcfd91a17532fdd1..9ac08abb15be867cd69da6e466cd54523cfbf57a 100644
(file)
--- a/
direct/yaffsfs.c
+++ b/
direct/yaffsfs.c
@@
-1637,7
+1637,10
@@
int yaffs_mkdir(const YCHAR *path, mode_t mode)
yaffsfs_Lock();
parent = yaffsfs_FindDirectory(NULL,path,&name,0);
yaffsfs_Lock();
parent = yaffsfs_FindDirectory(NULL,path,&name,0);
- if(parent && parent->myDev->readOnly){
+ if(parent && yaffs_strnlen(name,5) == 0){
+ /* Trying to make the root itself */
+ yaffsfs_SetError(-EEXIST);
+ } else if(parent && parent->myDev->readOnly){
yaffsfs_SetError(-EINVAL);
} else {
if(parent)
yaffsfs_SetError(-EINVAL);
} else {
if(parent)
@@
-1660,6
+1663,14
@@
int yaffs_mkdir(const YCHAR *path, mode_t mode)
return retVal;
}
return retVal;
}
+void * yaffs_getdev(const YCHAR *path)
+{
+ yaffs_Device *dev=NULL;
+ YCHAR *dummy;
+ dev = yaffsfs_FindDevice(path,&dummy);
+ return (void *)dev;
+}
+
int yaffs_mount2(const YCHAR *path,int readOnly)
{
int retVal=-1;
int yaffs_mount2(const YCHAR *path,int readOnly)
{
int retVal=-1;