list_for_each_entry in fs/dcache.c
PATCH 2/7 list_for_each_entry in fs/dcache.c
From: Domen Puncer <[email protected]>
First 2 are list_for_each_entry (thanks maks), second 2 list_for_each_safe. Boot tested.
Signed-off-by Domen Puncer <[email protected]>
Signed-off-by Maximilian Attems <[email protected]>
Signed-off-by Domen Puncer <[email protected]>
--- dcache.c | 16 ++++------------ 1 files changed, 4 insertions(+), 12 deletions(-)
fs/dcache.c +4 -12
@@ -335,12 +335,10 @@ struct dentry * d_find_alias(struct inod*/ void d_prune_aliases (struct inode *inode) { -struct list_head *tmp, *head = &inode->i_dentry; +struct dentry *dentry; restart:spin_lock (&dcache_lock); - tmp = head; -while ((tmp = tmp->next) != head) { - struct dentry *dentry = list_entry(tmp, struct dentry, d_alias); +list_for_each_entry (dentry, &inode->i_dentry, d_alias) {spin_lock (&dentry->d_lock);if (!atomic_read (&dentry->d_count)) {__dget_locked (dentry);
@@ -461,10 +459,7 @@ void shrink_dcache_sb(struct super_block* superblock to the most recent end of the unused list. */ spin_lock (&dcache_lock); - next = dentry_unused.next; -while (next != &dentry_unused) { - tmp = next; - next = tmp->next; +list_for_each_safe (tmp, next, &dentry_unused) { dentry = list_entry(tmp, struct dentry, d_lru);if (dentry->d_sb != sb)continue ;
@@ -476,10 +471,7 @@ void shrink_dcache_sb(struct super_block* Pass two ... free the dentries for this superblock. */ repeat: - next = dentry_unused.next; -while (next != &dentry_unused) { - tmp = next; - next = tmp->next; +list_for_each_safe (tmp, next, &dentry_unused) { dentry = list_entry(tmp, struct dentry, d_lru);if (dentry->d_sb != sb)continue ;
--