Re: [PATCH 0/23] File descriptor hot-unplug support v2

Al Viro
2009-06-08T17:49:26Z

On Mon, Jun 08, 2009 at 06:44:41PM +0200, Miklos Szeredi wrote:

> I'm still not getting what the problem is. AFAICS file operations are
> either
>
> a) non-interruptible but finish within a short time or
> b) may block indefinitely but are interruptible (or at least killable).
>
> Anything else is already problematic, resulting in processes "stuck in
> D state".

Welcome to reality...

* bread() is non-interruptible
* so's copy_from_user()/copy_to_user()
* IO we are stuck upon _might_ be interruptible, but by sending a signal
to some other process

... just for starters. If you sign up for auditing the tree to eliminate
"something's stuck in D state", you are welcome to it. Mind you, you'll
have to audit filesystems for "doesn't check if metadata IO has failed"
first, but that _really_ needs to be done anyway. On the ongoing basis.

Drivers, of course, are even more interesting - looking through foo_ioctl()
instances is a wonderful way to lower pH in stomach, but that's on the
"we want revoke()" side of it.