fix dfs_file_open error code (#7942)
This commit is contained in:
parent
5308cc4716
commit
deb0b031fc
@ -429,7 +429,8 @@ int dfs_file_open(struct dfs_file *file, const char *path, int oflags, mode_t mo
|
||||
oflags &= ~O_EXCL;
|
||||
/* the dentry already exists */
|
||||
dfs_dentry_unref(dentry);
|
||||
dentry = RT_NULL;
|
||||
ret = -EEXIST;
|
||||
goto _ERR_RET;
|
||||
}
|
||||
}
|
||||
else
|
||||
@ -536,6 +537,7 @@ int dfs_file_open(struct dfs_file *file, const char *path, int oflags, mode_t mo
|
||||
{
|
||||
DLOG(msg, "dfs_file", mnt->fs_ops->name, DLOG_MSG, "no permission or fops->open");
|
||||
dfs_file_unref(file);
|
||||
ret = -EPERM;
|
||||
}
|
||||
}
|
||||
else
|
||||
@ -544,8 +546,6 @@ int dfs_file_open(struct dfs_file *file, const char *path, int oflags, mode_t mo
|
||||
ret = -ENOENT;
|
||||
}
|
||||
}
|
||||
|
||||
rt_free(fullpath);
|
||||
}
|
||||
|
||||
if (ret >= 0 && (oflags & O_TRUNC))
|
||||
@ -584,6 +584,11 @@ int dfs_file_open(struct dfs_file *file, const char *path, int oflags, mode_t mo
|
||||
}
|
||||
}
|
||||
|
||||
_ERR_RET:
|
||||
if (fullpath != NULL)
|
||||
{
|
||||
rt_free(fullpath);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user