update dfs.c dfs_file.c dfs_file.h
Signed-off-by: yangfasheng <yangfasheng@rt-thread.com>
This commit is contained in:
parent
8d7dae447c
commit
c16d3de633
|
@ -44,6 +44,7 @@ struct dfs_fd
|
||||||
char *path; /* Name (below mount point) */
|
char *path; /* Name (below mount point) */
|
||||||
int ref_count; /* Descriptor reference count */
|
int ref_count; /* Descriptor reference count */
|
||||||
|
|
||||||
|
struct dfs_filesystem *fs;
|
||||||
const struct dfs_file_ops *fops;
|
const struct dfs_file_ops *fops;
|
||||||
|
|
||||||
uint32_t flags; /* Descriptor flags */
|
uint32_t flags; /* Descriptor flags */
|
||||||
|
|
|
@ -320,7 +320,7 @@ int fd_is_open(const char *pathname)
|
||||||
fd = fdt->fds[index];
|
fd = fdt->fds[index];
|
||||||
if (fd == NULL || fd->fops == NULL || fd->path == NULL) continue;
|
if (fd == NULL || fd->fops == NULL || fd->path == NULL) continue;
|
||||||
|
|
||||||
if (fd->fops == fs->ops->fops && strcmp(fd->path, mountpath) == 0)
|
if (fd->fs == fs && strcmp(fd->path, mountpath) == 0)
|
||||||
{
|
{
|
||||||
/* found file in file descriptor table */
|
/* found file in file descriptor table */
|
||||||
rt_free(fullpath);
|
rt_free(fullpath);
|
||||||
|
|
|
@ -66,6 +66,7 @@ int dfs_file_open(struct dfs_fd *fd, const char *path, int flags)
|
||||||
}
|
}
|
||||||
|
|
||||||
LOG_D("open in filesystem:%s", fs->ops->name);
|
LOG_D("open in filesystem:%s", fs->ops->name);
|
||||||
|
fd->fs = fs; /* set file system */
|
||||||
fd->fops = fs->ops->fops; /* set file ops */
|
fd->fops = fs->ops->fops; /* set file ops */
|
||||||
|
|
||||||
/* initialize the fd item */
|
/* initialize the fd item */
|
||||||
|
|
Loading…
Reference in New Issue