mufs: rename mufs_read()/mufs_write() to mufs_tree_read()/mufs_tree_write() and expose functions

tags/0.1.0
S.J.R. van Schaik 8 years ago
parent 073c7f34be
commit 845aba61ed
  1. 14
      source/fs/mufs/dir.c
  2. 6
      source/fs/mufs/dir.h
  3. 4
      source/fs/mufs/tree.c
  4. 6
      source/fs/mufs/tree.h

@ -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…
Cancel
Save