mufs: rename mufs_read()/mufs_write() to mufs_tree_read()/mufs_tree_write() and expose functions
This commit is contained in:
parent
073c7f34be
commit
845aba61ed
4 changed files with 19 additions and 11 deletions
|
@ -92,7 +92,7 @@ err_free_dir:
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct mufs_tree *resolve_path(struct mufs *fs, const char *path)
|
struct mufs_tree *resolve_path(struct mufs *fs, const char *path)
|
||||||
{
|
{
|
||||||
struct mufs_dir *dir;
|
struct mufs_dir *dir;
|
||||||
struct mufs_dirent entry;
|
struct mufs_dirent entry;
|
||||||
|
@ -176,7 +176,7 @@ void mufs_closedir(struct mufs_dir *dir)
|
||||||
free(dir);
|
free(dir);
|
||||||
}
|
}
|
||||||
|
|
||||||
static size_t read_dirent(struct mufs *fs, struct mufs_tree *tree,
|
size_t read_dirent(struct mufs *fs, struct mufs_tree *tree,
|
||||||
struct mufs_dirent *dirent, uint32_t va)
|
struct mufs_dirent *dirent, uint32_t va)
|
||||||
{
|
{
|
||||||
struct flash_dev *dev = fs->dev;
|
struct flash_dev *dev = fs->dev;
|
||||||
|
@ -191,7 +191,7 @@ static size_t read_dirent(struct mufs *fs, struct mufs_tree *tree,
|
||||||
if (va + sizeof(entry) > tree->file_size)
|
if (va + sizeof(entry) > tree->file_size)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
if (mufs_read(tree, &entry, va, sizeof entry) == 0)
|
if (mufs_tree_read(tree, &entry, va, sizeof entry) == 0)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
if (!entry.type)
|
if (!entry.type)
|
||||||
|
@ -204,7 +204,7 @@ static size_t read_dirent(struct mufs *fs, struct mufs_tree *tree,
|
||||||
if (va + len > tree->file_size)
|
if (va + len > tree->file_size)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
if (mufs_read(tree, dirent->path, va, len) == 0)
|
if (mufs_tree_read(tree, dirent->path, va, len) == 0)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
dirent->path[len] = '\0';
|
dirent->path[len] = '\0';
|
||||||
|
@ -225,7 +225,7 @@ static size_t read_dirent(struct mufs *fs, struct mufs_tree *tree,
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
static size_t write_dirent(struct mufs_tree *tree,
|
size_t write_dirent(struct mufs_tree *tree,
|
||||||
uint32_t va, struct mufs_dirent *dirent)
|
uint32_t va, struct mufs_dirent *dirent)
|
||||||
{
|
{
|
||||||
struct mufs_dtree dtree;
|
struct mufs_dtree dtree;
|
||||||
|
@ -237,11 +237,11 @@ static size_t write_dirent(struct mufs_tree *tree,
|
||||||
entry.tree.depth = dirent->tree.depth;
|
entry.tree.depth = dirent->tree.depth;
|
||||||
entry.path_len = strlen(dirent->path);
|
entry.path_len = strlen(dirent->path);
|
||||||
|
|
||||||
if (mufs_write(tree, dirent->path, va + sizeof entry,
|
if (mufs_tree_write(tree, dirent->path, va + sizeof entry,
|
||||||
entry.path_len) == 0)
|
entry.path_len) == 0)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
if (mufs_write(tree, &entry, va, sizeof entry) == 0)
|
if (mufs_tree_write(tree, &entry, va, sizeof entry) == 0)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
tree->file_size = max(tree->file_size, va + sizeof entry + entry.path_len);
|
tree->file_size = max(tree->file_size, va + sizeof entry + entry.path_len);
|
||||||
|
|
|
@ -14,3 +14,9 @@ struct mufs_dentry {
|
||||||
|
|
||||||
#define MUFS_FILE BIT(0)
|
#define MUFS_FILE BIT(0)
|
||||||
#define MUFS_DIR BIT(1)
|
#define MUFS_DIR BIT(1)
|
||||||
|
|
||||||
|
struct mufs_tree *resolve_path(struct mufs *fs, const char *path);
|
||||||
|
size_t read_dirent(struct mufs *fs, struct mufs_tree *tree,
|
||||||
|
struct mufs_dirent *dirent, uint32_t va);
|
||||||
|
size_t write_dirent(struct mufs_tree *tree,
|
||||||
|
uint32_t va, struct mufs_dirent *dirent);
|
||||||
|
|
|
@ -197,7 +197,7 @@ static size_t mufs_do_read(struct mufs_tree *tree, void *data, uint32_t va,
|
||||||
return flash_read(dev, (page << dev->log2_block_size) + offset, data, len);
|
return flash_read(dev, (page << dev->log2_block_size) + offset, data, len);
|
||||||
}
|
}
|
||||||
|
|
||||||
size_t mufs_read(struct mufs_tree *tree, void *data, uint32_t va, size_t len)
|
size_t mufs_tree_read(struct mufs_tree *tree, void *data, uint32_t va, size_t len)
|
||||||
{
|
{
|
||||||
uint8_t *buf = data;
|
uint8_t *buf = data;
|
||||||
size_t ret, nbytes = 0;
|
size_t ret, nbytes = 0;
|
||||||
|
@ -236,7 +236,7 @@ static size_t mufs_do_write(struct mufs_tree *tree,
|
||||||
len);
|
len);
|
||||||
}
|
}
|
||||||
|
|
||||||
size_t mufs_write(struct mufs_tree *tree, void *data,
|
size_t mufs_tree_write(struct mufs_tree *tree, void *data,
|
||||||
uint32_t va, size_t len)
|
uint32_t va, size_t len)
|
||||||
{
|
{
|
||||||
uint8_t *buf = data;
|
uint8_t *buf = data;
|
||||||
|
|
|
@ -7,5 +7,7 @@ int mufs_alloc_page(struct mufs_tree *tree, uint32_t *page,
|
||||||
void mufs_free_page(struct mufs_tree *tree, uint32_t va);
|
void mufs_free_page(struct mufs_tree *tree, uint32_t va);
|
||||||
int mufs_extend_tree(struct mufs_tree *tree, uint8_t depth);
|
int mufs_extend_tree(struct mufs_tree *tree, uint8_t depth);
|
||||||
int mufs_shrink_tree(struct mufs_tree *tree, uint32_t max_size);
|
int mufs_shrink_tree(struct mufs_tree *tree, uint32_t max_size);
|
||||||
size_t mufs_read(struct mufs_tree *tree, void *data, uint32_t va, size_t len);
|
size_t mufs_tree_read(struct mufs_tree *tree, void *data, uint32_t va,
|
||||||
size_t mufs_write(struct mufs_tree *tree, void *data, uint32_t va, size_t len);
|
size_t len);
|
||||||
|
size_t mufs_tree_write(struct mufs_tree *tree, void *data, uint32_t va,
|
||||||
|
size_t len);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue