mufs: properly determine the va of a tree object

tags/0.1.0
S.J.R. van Schaik 7 years ago
parent f1e6f8f278
commit 3b25180038
  1. 3
      source/fs/mufs/dir.c

@ -169,6 +169,7 @@ 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.file_size = entry.file_size;
dirent->tree.root = entry.root;
@ -208,6 +209,8 @@ 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;

Loading…
Cancel
Save