Handle a failed disconnect correctly

If the sender disconnects its socket before sending the disconnect
message, the destination should restart the migration process.  This
patch makes sure that happens.
This commit is contained in:
Alex Young
2012-07-12 09:39:39 +01:00
parent f3cebcdcd5
commit eb90308b6e
9 changed files with 154 additions and 14 deletions

View File

@@ -66,6 +66,14 @@ class TestDestErrorHandling < Test::Unit::TestCase
run_fake( "source/close_after_write_data" )
end
def test_disconnect_after_entrust_reply_causes_error
@env.nbd1.can_die(0)
# This fake runs a failed migration then a succeeding one, so we
# expect the destination to take control.
run_fake( "source/close_after_entrust_reply" )
end
private
def run_fake( name )
@env.run_fake( name, @env.ip, @env.port1 )