mufs: embed struct mufs_dtree in struct mufs_dentry and clean up code
This commit is contained in:
parent
0bc9c6fc7a
commit
89ec3a94c0
2 changed files with 14 additions and 15 deletions
|
@ -1,3 +1,4 @@
|
|||
#include <stddef.h>
|
||||
#include <stdint.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
@ -216,21 +217,15 @@ static size_t read_dirent(struct mufs *fs, struct mufs_tree *tree,
|
|||
dirent->tree.fs = fs;
|
||||
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 += offsetof(struct mufs_dentry, tree);
|
||||
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;
|
||||
dirent->tree.file_size = entry.tree.file_size;
|
||||
dirent->tree.root = entry.tree.root;
|
||||
dirent->tree.depth = entry.tree.depth;
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
struct mufs_dtree {
|
||||
uint32_t file_size;
|
||||
uint32_t root;
|
||||
uint8_t depth;
|
||||
} __attribute__((packed));
|
||||
|
||||
static size_t write_dirent(struct mufs_tree *tree,
|
||||
uint32_t va, struct mufs_dirent *dirent)
|
||||
{
|
||||
|
@ -238,9 +233,9 @@ static size_t write_dirent(struct mufs_tree *tree,
|
|||
struct mufs_dentry entry;
|
||||
|
||||
entry.type = dirent->type;
|
||||
entry.file_size = dirent->tree.file_size;
|
||||
entry.root = dirent->tree.root;
|
||||
entry.depth = dirent->tree.depth;
|
||||
entry.tree.file_size = dirent->tree.file_size;
|
||||
entry.tree.root = dirent->tree.root;
|
||||
entry.tree.depth = dirent->tree.depth;
|
||||
entry.path_len = strlen(dirent->path);
|
||||
|
||||
if (mufs_write(tree, dirent->path, va + sizeof entry,
|
||||
|
|
|
@ -1,10 +1,14 @@
|
|||
#pragma once
|
||||
|
||||
struct mufs_dentry {
|
||||
uint8_t type;
|
||||
struct mufs_dtree {
|
||||
uint32_t file_size;
|
||||
uint32_t root;
|
||||
uint8_t depth;
|
||||
} __attribute__((packed));
|
||||
|
||||
struct mufs_dentry {
|
||||
uint8_t type;
|
||||
struct mufs_dtree tree;
|
||||
uint16_t path_len;
|
||||
} __attribute__((packed));
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue