summaryrefslogtreecommitdiff
path: root/debian/patches/tmpfs-improve-diskfs_node_iterate.patch
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches/tmpfs-improve-diskfs_node_iterate.patch')
-rw-r--r--debian/patches/tmpfs-improve-diskfs_node_iterate.patch62
1 files changed, 0 insertions, 62 deletions
diff --git a/debian/patches/tmpfs-improve-diskfs_node_iterate.patch b/debian/patches/tmpfs-improve-diskfs_node_iterate.patch
deleted file mode 100644
index 7b6c05b6..00000000
--- a/debian/patches/tmpfs-improve-diskfs_node_iterate.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-commit eeaf6d931ce4227c45188dc2b1a9b3ce5e8f10fb
-Author: Justus Winter <4winter@informatik.uni-hamburg.de>
-Date: Wed Apr 30 02:08:41 2014 +0200
-
- tmpfs: improve diskfs_node_iterate
-
- Currently, diskfs_node_iterate iterates twice over all nodes. The
- first time only to determine the number of nodes. Simply count them
- instead.
-
- * tmpfs/node.c (all_nodes_nr_items): New variable.
- (diskfs_free_node): Decrement all_nodes_nr_items.
- (diskfs_node_norefs): Likewise.
- (diskfs_cached_lookup): Increment all_nodes_nr_items.
- (diskfs_node_iterate): Use all_nodes_nr_items.
-
-diff --git a/tmpfs/node.c b/tmpfs/node.c
-index bc0ad64..18b73be 100644
---- a/tmpfs/node.c
-+++ b/tmpfs/node.c
-@@ -30,6 +30,7 @@ unsigned int num_files;
- static unsigned int gen;
-
- struct node *all_nodes;
-+static size_t all_nodes_nr_items;
-
- error_t
- diskfs_alloc_node (struct node *dp, mode_t mode, struct node **npp)
-@@ -77,6 +78,7 @@ diskfs_free_node (struct node *np, mode_t mode)
- *np->dn->hprevp = np->dn->hnext;
- if (np->dn->hnext != 0)
- np->dn->hnext->dn->hprevp = np->dn->hprevp;
-+ all_nodes_nr_items -= 1;
- free (np->dn);
- np->dn = 0;
-
-@@ -120,6 +122,7 @@ diskfs_node_norefs (struct node *np)
- *np->dn->hprevp = np->dn->hnext;
- if (np->dn->hnext != 0)
- np->dn->hnext->dn->hprevp = np->dn->hprevp;
-+ all_nodes_nr_items -= 1;
- np->dn->hnext = 0;
- np->dn->hprevp = 0;
- }
-@@ -186,6 +189,7 @@ diskfs_cached_lookup (ino_t inum, struct node **npp)
- dn->hnext->dn->hprevp = &dn->hnext;
- dn->hprevp = &all_nodes;
- all_nodes = np;
-+ all_nodes_nr_items += 1;
- pthread_spin_unlock (&diskfs_node_refcnt_lock);
-
- st = &np->dn_stat;
-@@ -233,8 +237,7 @@ diskfs_node_iterate (error_t (*fun) (struct node *))
- diskfs_node_refcnt_lock, but we can't hold this while locking the
- individual node locks). */
-
-- for (node = all_nodes; node != 0; node = node->dn->hnext)
-- num_nodes++;
-+ num_nodes = all_nodes_nr_items;
-
- p = node_list = alloca (num_nodes * sizeof (struct node *));
- for (node = all_nodes; node != 0; node = node->dn->hnext)