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