|
|
|
@ -169,8 +169,10 @@ static size_t read_dirent(struct mufs *fs, struct mufs_tree *tree, |
|
|
|
|
return 0; |
|
|
|
|
|
|
|
|
|
dirent->tree.fs = fs; |
|
|
|
|
dirent->tree.va <<= dev->log2_block_size; |
|
|
|
|
dirent->tree.va |= base & ((UINT32_C(1) << dev->log2_block_size) - 1); |
|
|
|
|
dirent->tree.va = dirent->tree.va << dev->log2_block_size; |
|
|
|
|
/* TODO: get a proper offset to the tree. */ |
|
|
|
|
dirent->tree.va += 1; |
|
|
|
|
dirent->tree.va += base & ((UINT32_C(1) << dev->log2_block_size) - 1); |
|
|
|
|
dirent->tree.file_size = entry.file_size; |
|
|
|
|
dirent->tree.root = entry.root; |
|
|
|
|
dirent->tree.depth = entry.depth; |
|
|
|
@ -209,8 +211,6 @@ static size_t write_dirent(struct mufs_tree *tree, |
|
|
|
|
dtree.root = tree->root; |
|
|
|
|
dtree.depth = tree->depth; |
|
|
|
|
|
|
|
|
|
printf("updating tree->va=%u\n", tree->va); |
|
|
|
|
|
|
|
|
|
if (flash_write(tree->fs->dev, tree->va, &dtree, sizeof dtree) == 0) |
|
|
|
|
return 0; |
|
|
|
|
|
|
|
|
@ -257,8 +257,6 @@ int mufs_mkdir(struct mufs *fs, const char *path) |
|
|
|
|
while (*path == '/') |
|
|
|
|
++path; |
|
|
|
|
|
|
|
|
|
printf("path=%s\n", path); |
|
|
|
|
|
|
|
|
|
if (!(s = strdup(path))) |
|
|
|
|
return -1; |
|
|
|
|
|
|
|
|
|