On Mon, Aug 17, 2009 at 05:02:23PM -0500, Tom Haynes wrote: > Nicolas Williams wrote: > >If any process holds a reference to a file or directory in that > >mirror-mounted filesystem, then that filesystem will not be unmounted, > >and then the EBUSY won't happen (since no threads can be racing to mount > >the thing that's already mounted). So that's your workaround: keep a > >reference to every affected mirror mount open so that they don't get > >unmounted. (But I've not tested this workaround, or at least not > >recently.) > > > > The real issue here is that the device is not really busy. If you were > to try again right away, it > would succeed. > > So another work around is to either force a retry or try to preload the > mirror mount.
No, that doesn't work because you have no idea what's going to trigger a mirror mount (a stat(2)? an open(2)? ...). I knew in my case, and I knew that simply running dmake again would suffice. But as a general workaround, it won't do. We really need to fix this. Nico --