Messages in this thread | | | Date | Fri, 10 Mar 2006 11:59:50 +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 really think that we need to stop prune_one_dentry from being called > >on dentries for a filesystem that is being unmounted. With that code > >currently in -git, that means passing a 'struct super_block *' into > >prune_dcache so that it ignores any filesystem with ->s_root==NULL > >unless that filesystem is the filesystem that was passed. > Can try... >
Can not ... because of down_read(s_umount) before checking s_root :(
So what do we do now?
1. always get the reference counting right outside of dcache_lock
2. hack around with different paths for prune_dcache() when called from shrink_dcache_memory() and shrink_dcache_parent()
I think that we should go for the first.
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/
| |