On Wed, Sep 20, 2017 at 10:02:37PM -0700, Jaegeuk Kim wrote: > > Yes, and actually, android retries umount(2) for several seconds, if it gets > failure. So, first I thought it'd be better to make umount() more > deterministic. > > I'm not sure how many times we can retry and wait for this. IMHO, it'd be > better > to use this together with the new flag, since this can detect unclosed > namespace > given successful umount(2).
Even if you could make umount wait for the binder deferred workqueue to exit, if it takes time, it takes time. And that's not the core VFS's fault. It's binder's. So... why not fix this by adding a binder ioctl which forces its workqueue to be flushed, and use that *before* you try calling mount? If that binder ioctl takes minutes or hours to complete, then that's a binder bug, and needs to be fixed in binder. - Ted