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
-- 

Reply via email to