Re: [PATCH v2] vfs: introduce UMOUNT_WAIT which waits for umount completion

From: Theodore Ts'o
Date: Thu Sep 21 2017 - 10:50:36 EST


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