- remove bugfix in findnode_fs
- change bugfix in open_fs
This commit is contained in:
parent
b8552f1f03
commit
1e03b40869
1 changed files with 3 additions and 6 deletions
9
fs/fs.c
9
fs/fs.c
|
@ -72,8 +72,6 @@ int open_fs(fildes_t* file, const char* name)
|
|||
|
||||
if (name[0] == '/')
|
||||
file_node = fs_root;
|
||||
else
|
||||
return -ENOENT;
|
||||
|
||||
while((name[j] != '\0') && (file_node != NULL)) {
|
||||
i = 0;
|
||||
|
@ -96,13 +94,15 @@ int open_fs(fildes_t* file, const char* name)
|
|||
if (file_node->open != 0)
|
||||
ret = file->node->open(file, NULL);
|
||||
spinlock_unlock(&file_node->lock);
|
||||
} else { /* file doesn't exist */
|
||||
} else if (dir_node) { /* file doesn't exist */
|
||||
spinlock_lock(&dir_node->lock);
|
||||
file->node = dir_node;
|
||||
// Has the dir_node got an open callback?
|
||||
if (dir_node->open != 0)
|
||||
ret = dir_node->open(file, fname);
|
||||
spinlock_unlock(&dir_node->lock);
|
||||
} else {
|
||||
ret = -ENOENT;
|
||||
}
|
||||
|
||||
return ret;
|
||||
|
@ -182,9 +182,6 @@ vfs_node_t* findnode_fs(const char* name)
|
|||
|
||||
if (name[0] == '/')
|
||||
ret = fs_root;
|
||||
else
|
||||
return -ENOENT;
|
||||
|
||||
|
||||
while((name[j] != '\0') && ret) {
|
||||
i = 0;
|
||||
|
|
Loading…
Add table
Reference in a new issue