Re: Killing process in D state on mount to dead NFS server. (when process is in fsync)

From: Jan Kara
Date: Fri Aug 01 2014 - 08:47:43 EST


On Fri 01-08-14 07:50:53, NeilBrown wrote:
> On Thu, 31 Jul 2014 14:20:07 -0700 Ben Greear <greearb@xxxxxxxxxxxxxxx> wrote:
> > -----BEGIN PGP SIGNED MESSAGE-----
> > Hash: SHA1
> >
> > On 07/31/2014 01:42 PM, NeilBrown wrote:
> > > On Thu, 31 Jul 2014 11:00:35 -0700 Ben Greear <greearb@xxxxxxxxxxxxxxx> wrote:
> > >
> > >> So, this has been asked all over the interweb for years and years, but the best answer I can find is to reboot the system or create a fake NFS server
> > >> somewhere with the same IP as the gone-away NFS server.
> > >>
> > >> The problem is:
> > >>
> > >> I have some mounts to an NFS server that no longer exists (crashed/powered down).
> > >>
> > >> I have some processes stuck trying to write to files open on these mounts.
> > >>
> > >> I want to kill the process and unmount.
> > >>
> > >> umount -l will make the mount go a way, sort of. But process is still hung. umount -f complains: umount2: Device or resource busy umount.nfs: /mnt/foo:
> > >> device is busy
> > >>
> > >> kill -9 does not work on process.
> > >
> > > Kill -1 should work (since about 2.6.25 or so).
> >
> > That is -[ONE], right? Assuming so, it did not work for me.
>
> No, it was "-9" .... sorry, I really shouldn't be let out without my proof
> reader.
>
> However the 'stack' is sufficient to see what is going on.
>
> The problem is that it is blocked inside the "VM" well away from NFS and
> there is no way for NFS to say "give up and go home".
>
> I'd suggest that is a bug. I cannot see any justification for fsync to not
> be killable.
> It wouldn't be too hard to create a patch to make it so.
> It would be a little harder to examine all call paths and create a
> convincing case that the patch was safe.
> It might be herculean task to convince others that it was the right thing
> to do.... so let's start with that one.
>
> Hi Linux-mm and fs-devel people. What do people think of making "fsync" and
> variants "KILLABLE" ??
Sounds useful to me and I don't see how it could break some
application...

Honza

--
Jan Kara <jack@xxxxxxx>
SUSE Labs, CR
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/