HUPin the ttys in drivers/char/hvcs.c
Ryan Arnold
rsa at us.ibm.com
Thu Feb 3 06:50:51 EST 2005
On Tue, 2005-02-01 at 14:34 -0500, Jimi Xenidis wrote:
> In an LPAR environment there is the hvc (client side VTERM) and the
> hvcs (server side VTERM). If the /dev/hvcs<n> is paired/registered
> with a VTERM what is removed (as in the case of LPAR death) the
> H_GET_TERM_CHAR hcall will eventually return H_Closed.
>
> IMHO, when this event occurs the /dev/hvcs<n> should get HUPed and
> ultimately an H_FREE_VTERM should occurs on the channel.
> Otherwise the administrator would have to clean up after it.
>
> Thoughts?
> -JX
Hey Jimi,
Great catch, you're absolutely right. At the moment, hvcs
uses /arch/ppc64/kernel/hvconsole.c::hvc_get_chars() to gather character
data from the hypervisor. If the partner vty adapter is removed, as you
say, an H_Closed will be returned to hvc_get_chars(). This function
doesn't do anything with errors atm. I think the best thing to do would
be to update the arch code to return an errno when errors are
encountered.
Then hvcs can kick off a hangup if a partner adapter is removed.
Thanks for catching this Jimi. It may take me a bit to get a fix. I
have to make sure the hvcs scheduling algorithm can properly handle this
scenario.
--
Ryan Arnold <rsa at us.ibm.com>
IBM Linux Technology Center
More information about the Linuxppc64-dev
mailing list