[SLOF] [PATCH] dev-null: The "read" function has to return 0 if nothing has been read

Thomas Huth thuth at redhat.com
Wed Feb 24 19:25:42 AEDT 2016


On 24.02.2016 03:49, David Gibson wrote:
> On Wed, Feb 24, 2016 at 11:39:40AM +1100, Alexey Kardashevskiy wrote:
>> On 02/24/2016 01:54 AM, Laurent Vivier wrote:
>>>
>>>
>>> On 23/02/2016 15:40, Thomas Huth wrote:
>>>> The "read" function of the dev-null device currently claims that
>>>> the same amount of bytes has been read as input bytes have been
>>>> requested. This causes grub to hang forever at the boot selection
>>>> menu, since grub then thinks that there's a continuous stream of input
>>>> data. If nothing has been read (which is always the case for the
>>>> dev-null device), the "read" function should simply return 0 instead.
>>>> Then grub also boots properly again after the typical short timeout.
>>>>
>>>> Reported-by: Laurent Vivier <lvivier at redhat.com>
>>>> Signed-off-by: Thomas Huth <thuth at redhat.com>
>>>
>>> Tested-by: Laurent Vivier <lvivier at redhat.com>
>>
>> Thanks, applied.
>>
>> But how did you get this hang? How come that I've never seen that?
> 
> I believe it happens when you try to boot without a console, or only a
> console that SLOF doesn't understand like the virtio-console.

Right, the problem has been found while trying to boot with a
virtio-console only, something like:

qemu-system-ppc64 -nographic -enable-kvm -nodefaults -hda hd.qcow2 \
       -device virtio-serial -device virtconsole,chardev=vty \
       -chardev pty,id=vty

By the way, SLOF lacks a driver for virtio-consoles ... in case anybody
wants to implement that, that would be great :-)

 Thomas



More information about the SLOF mailing list