summaryrefslogtreecommitdiff
path: root/fatfs/main.c
diff options
context:
space:
mode:
authorJustus Winter <4winter@informatik.uni-hamburg.de>2015-04-16 16:12:05 +0200
committerJustus Winter <4winter@informatik.uni-hamburg.de>2015-04-17 22:16:14 +0200
commitb497f1613187c142ad6d0b76761a49811c37da80 (patch)
tree1d9cf49eabbb1e9c2de5768ae52aeaa895c93a59 /fatfs/main.c
parent4266bb02b1f3342d3fc4920c07c71592a14acdd9 (diff)
fatfs: port to libdiskfs' node cache
* fatfs/inode.c: Drop all cache-related code. (diskfs_user_make_node): New function. (diskfs_cached_lookup_in_dirbuf): Reimplement using the `lookup_context'. (read_node): Rename to diskfs_user_read_node and adopt accordingly. (diskfs_try_dropping_softrefs): Rename to `diskfs_user_try_dropping_softrefs'. (diskfs_node_reload): Pass context to `diskfs_user_read_node'. (diskfs_alloc_node): Pass `dir' via context to `diskfs_user_read_node'. * fatfs/fatfs.h (struct disknode): Drop fields `hnext', `hprevp'. (struct lookup_context): New definition. (ifind): Drop declaration. * fatfs/dir.c (diskfs_lookup_hard): Adjust accordingly. * fatfs/main.c (fetch_root): Likewise.
Diffstat (limited to 'fatfs/main.c')
-rw-r--r--fatfs/main.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/fatfs/main.c b/fatfs/main.c
index 2bbcdfaa..00c56bc5 100644
--- a/fatfs/main.c
+++ b/fatfs/main.c
@@ -143,7 +143,7 @@ fetch_root ()
{
error_t err;
ino_t inum;
- inode_t inode;
+ struct lookup_context ctx;
memset (&dr_root_node, 0, sizeof(struct dirrect));
@@ -196,13 +196,13 @@ fetch_root ()
from the vi_zero_key (in the dir_offset value) as well as all
normal virtual inode keys (in the dir_inode value). Enter the
disknode into the inode table. */
- err = vi_new ((struct vi_key) {0, 1}, &inum, &inode);
+ err = vi_new ((struct vi_key) {0, 1}, &inum, &ctx.inode);
assert_perror (err);
/* Allocate a node for the root directory disknode in
diskfs_root_node. */
if (!err)
- err = diskfs_cached_lookup (inum, &diskfs_root_node);
+ err = diskfs_cached_lookup_context (inum, &diskfs_root_node, &ctx);
assert_perror (err);