Messages in this thread | | | Date | Mon, 8 Jun 2009 18:50:18 +0100 | From | Al Viro <> | Subject | Re: [PATCH 0/23] File descriptor hot-unplug support v2 |
| |
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.
| |