* 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_soft
* isofs/inode.c: Drop all cache-related code.
(diskfs_user_make_node): New function.
(calculate_file_start): Check for `record' being null.
(cache_id): New function.
(read_node): Rename to diskfs_user_read_node and adopt accordingly.
(diskfs_try_dropping_softrefs): Rename to diskfs_user_try_droppin
Use `diskfs_make_node_alloc' to allocate both the node and the
disknode in a continuous chunk of memory. This increases locality and
reduces the pressure on the memory allocator.
* ext2fs/inode.c: Use `diskfs_node_disknode' to access the disknode.
(diskfs_cached_lookup): Use `diskfs_make_node_all
Previously, all users of libdiskfs implemented a node cache on their
own. Move the node cache from ext2fs into libdiskfs. We preserve the
previous API by marking all functions that we pull from ext2fs as
weak, so that users like tmpfs can still implement their own node
cache.
* ext2fs/dir.c (dis
* libdiskfs/node-make.c (init_node): Initialize flag `author_tracks_uid'.
---
libdiskfs/node-make.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/libdiskfs/node-make.c b/libdiskfs/node-make.c
index c7ca3b0..7bc1d85 100644
--- a/libdiskfs/node-make.c
+++ b/libdiskfs/node-make.c
@@ -27,6 +27,7
Previously, fatfs used diskfs_node_refcnt_lock to serialize access to
the nodehash.
Use a separate lock to protect nodehash. Adjust the reference
counting accordingly. Every node in the nodehash carries a light
reference. When we are asked to give up that light reference, we
reacquire our lock
* libdiskfs/diskfs.h (struct node): Turn flags into a bit field.
---
libdiskfs/diskfs.h | 17 +++--
1 file changed, 11 insertions(+), 6 deletions(-)
diff --git a/libdiskfs/diskfs.h b/libdiskfs/diskfs.h
index 535fb39..18df0eb 100644
--- a/libdiskfs/diskfs.h
+++ b/libdiskfs/diskfs.h
@@
* libdiskfs/diskfs.h (struct node): Use refcounts_t for reference counting.
(diskfs_node_refcnt_lock): Remove.
(diskfs_node_norefs,diskfs_drop_node): Change comments accordingly.
* libdiskfs/init-init.c: Adjust accordingly.
* libdiskfs/node-drop.c: Likewise.
* libdiskfs/node-make.c: Likewise.
* lib
* libdiskfs/diskfs.h (diskfs_node_disknode, diskfs_disknode_node):
Declare functions as `extern inline' so that we can use them in other
functions declared as `extern inline'.
---
libdiskfs/diskfs.h | 8 ++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/libdiskfs/diskfs.h b/li
Previously, ext2fs used diskfs_node_refcnt_lock to serialize access to
the nodehash.
Use a separate lock to protect nodehash. Adjust the reference
counting accordingly. Every node in the nodehash carries a light
reference. When we are asked to give up that light reference, we
reacquire our lock
* libdiskfs/diskfs.h (struct node): Drop unused fields from struct
node.
---
libdiskfs/diskfs.h | 2 --
1 file changed, 2 deletions(-)
diff --git a/libdiskfs/diskfs.h b/libdiskfs/diskfs.h
index 18df0eb..7a21dff 100644
--- a/libdiskfs/diskfs.h
+++ b/libdiskfs/diskfs.h
@@ -80,8 +80,6 @@ struct pero
Previously, isofs used diskfs_node_refcnt_lock to serialize access to
the node_cache.
Use a separate lock to protect node_cache. Adjust the reference
counting accordingly. Every node in the node_cache carries a light
reference. When we are asked to give up that light reference, we
reacquire our
Previously, tmpfs used diskfs_node_refcnt_lock to serialize access to
the all_nodes and some other related global state related to memory
consumption.
Use a separate lock to protect all_nodes, and atomic operations to
access the state related to memory consumption. Adjust the reference
counting ac
13 matches
Mail list logo