From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:52179) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UCRxR-0003SR-Gw for qemu-devel@nongnu.org; Mon, 04 Mar 2013 04:45:26 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UCRxM-0002ni-IJ for qemu-devel@nongnu.org; Mon, 04 Mar 2013 04:45:21 -0500 Received: from mx1.redhat.com ([209.132.183.28]:58795) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UCRxM-0002nY-9d for qemu-devel@nongnu.org; Mon, 04 Mar 2013 04:45:16 -0500 Date: Mon, 4 Mar 2013 17:45:02 +0800 From: Amos Kong Message-ID: <20130304094502.GA10725@t430s.nay.redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Subject: [Qemu-devel] seabios bug: fail to find etc/boot-fail-wait List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: seabios@seabios.org, kevin@koconnor.net Cc: qemu-devel@nongnu.org ./qemu-upstream-latest -boot reboot-timeout=1000 ... (after boot failed, VM waits for 1000 ms and try to reboot) reboot-timeout parameter doesn't work now, I found this regression bug was introduced by commit 59d6ca52a7eba5b1f4f2becf70fd446dccaf0a2e > Author: Kevin O'Connor > Date: Thu May 31 00:20:55 2012 -0400 > > Cache romfile entries. > > Create a 'struct romfile_s' and populate a list of all romfiles at > start of init. Caching the romfiles both simplifies the code and > makes it more efficient. > > Also, convert the ramdisk code to use romfile helpers instead of > directly accessing cbfs. romfile_add() is used to add rom files in the list. When seabios calls boot_fail(), the list becomes empty, romfile_find("etc/boot-fail-wait", ..) returns NULL. it seems the list items are released prematurely. Thanks, Amos