mirror of
https://github.com/ipxe/ipxe
synced 2025-12-14 16:01:38 +03:00
[http] Notify data transfer interface when underlying connection is ready
HTTP implements xfer_window_changed() on the underlying server connection using http_step(), which does not propagate the window change notification to the data transfer interface. This breaks the multipath-capable SAN boot code, which relies on the window change notification to discover that the HTTP block device is ready for commands to be issued. Fix by sending xfer_window_changed() in http_step() once the underlying connection has been determined to be ready. Signed-off-by: Michael Brown <mcb30@ipxe.org>
This commit is contained in:
@@ -352,6 +352,9 @@ static void http_step ( struct http_transaction *http ) {
|
||||
if ( ! xfer_window ( &http->conn ) )
|
||||
return;
|
||||
|
||||
/* Notify data transfer interface that window may have changed */
|
||||
xfer_window_changed ( &http->xfer );
|
||||
|
||||
/* Do nothing until data transfer interface is ready */
|
||||
if ( ! xfer_window ( &http->xfer ) )
|
||||
return;
|
||||
|
||||
Reference in New Issue
Block a user