Messages in this thread |  | | | Date | Fri, 10 Mar 2006 13:02:33 +0100 | | From | Jan Blunck <> | | Subject | Re: [PATCH] Fix shrink_dcache_parent() against shrink_dcache_memory() race (3rd updated patch)] |
| |
On Fri, Mar 10, Kirill Korotaev wrote:
> >I think that we should go for the first. > just an idea which came to my mind: > can't we fix it the following way: > 1. fix select_parent() when called from generic_shutdown_super() to loop > until _all_ dentries are shrinked (not only those, with d_count = 1); > this guarentees that no dentries are left. > 2. no dentries are left, but iput() can be in progress. > So can't we simply make invalidate_inodes() to be in a loop with > schedule() until no busy inodes are left?!
But this hides the places where dput() is called after mntput() and locks up when somebody forgets to call dput() at all. And I think we should printk() in that situations instead of waiting for them.
Regards, Jan
-- Jan Blunck jblunck@suse.de SuSE LINUX AG - A Novell company Maxfeldstr. 5 +49-911-74053-608 D-90409 Nürnberg http://www.suse.de - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|  |