From b497f1613187c142ad6d0b76761a49811c37da80 Mon Sep 17 00:00:00 2001 From: Justus Winter <4winter@informatik.uni-hamburg.de> Date: Thu, 16 Apr 2015 16:12:05 +0200 Subject: 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. --- fatfs/main.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'fatfs/main.c') 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); -- cgit v1.2.3