Sage Weil wrote: > On Thu, 24 Sep 2009, Ian Kent wrote: > >> A change to the VFS path walk locking is needed to resolve an issue >> identified by Sage Weil. This locking change requires significant >> changes to the autofs4 module to allow it to callback to userspace >> without introducing a deadlock. >> >> To cope with the change the autofs4 module needs to redirect mount >> requests from ->d_revalidate() to ->lookup() if the directory >> inode mutex is held when a callback needs to be done. Note that we >> cannot redirect these requests when the mutex is not held because, >> to function correctly, the mutex must be held over both revalidate >> and lookup. >> >> Of the patches in the series most are cleanups and refactoring done >> to keep the real change in "autofs4 - always use lookup for lookup" >> as clean as possible. Unfortuneately, there is still quite a bit >> left in it. >> >> Also, I need confirmation that the patch that changes the VFS path >> walk locking is in fact correct, or at least like for like to what >> will be submitted. I had some difficulty with the original patches >> that were paosted. The patch in question below is "vfs: make >> real_lookup do dentry revalidation with i_mutex held". > > It looks identical to be the original two folded into one patch. I'll > repost those two now, freshened against Linus' tree. The first has just > the functional change, and the cleanup is in the second (as per > Christoph's review). > >> I've done quite a bit of fairly heavy stress testing of the patch >> series and they (finally) hold up to it. Although I have also >> managed to uncover a locking bug in the user space daemon as a >> result, ;) > > I'm glad some other good has come of it. Thanks, Ian, for carrying this > through! Not quite so good as I haven't fixed it yet. But that's user space and it happens occasionally under an extended heavy load so it will take a while to work out. Ian -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html