[Devel] [PATCH 2.6.19-rc3] VFS: missing unused dentry in prune_dcache()
Vasily Averin
vvs at sw.ru
Fri Oct 27 06:42:03 PDT 2006
Andrew,
could you please use this patch instead of
missing-unused-dentry-in-prune_dcache.patch
As far as I understand David Howells have not any objections
Thank you,
Vasily Averin
---
VFS: missing unused dentry in prune_dcache()
From: Vasily Averin <vvs at sw.ru>
If we cannot delete dentry we should insert it back to the dentry_unused list.
To prevent cycle and do not blocks prune_dcache() call from
shrink_dcache_memory() we adding this dentry to head of list.
Signed-off-by: Vasily Averin <vvs at sw.ru>
--- linux-2.6.19-rc3/fs/dcache.c.prdch 2006-10-25 16:09:19.000000000 +0400
+++ linux-2.6.19-rc3/fs/dcache.c 2006-10-26 15:14:51.000000000 +0400
@@ -478,11 +478,9 @@ static void prune_dcache(int count, stru
up_read(s_umount);
}
spin_unlock(&dentry->d_lock);
- /* Cannot remove the first dentry, and it isn't appropriate
- * to move it to the head of the list, so give up, and try
- * later
- */
- break;
+ /* Inserting dentry to tail of the list leads to cycle */
+ list_add(&dentry->d_lru, &dentry_unused);
+ dentry_stat.nr_unused++;
}
spin_unlock(&dcache_lock);
}
More information about the Devel
mailing list