« Previous | Next » 

Revision 3b3b1bca

ID3b3b1bca566a005acd622a5b6e49528e5e3dbe85
Parent 6977943c
Child 54b010ca

Added by Dimitris Aragiorgis about 12 years ago

Fix a bug concerning TCP port release

Commit f396ad8 returns the TCP port used by DRBD disk back to the
TCP/UDP port pool using AddTcpUdpPort().

However, AddTcpUdpPort() writes the config on every invocation,
using _WriteConfig(). This causes two problems:

  • it causes critical errors logged by VerifyConfig(), after the DRBD
    disk removal, and until the actual instance removal.
  • if the code following AddTcpUdpPort() fails, the port is already
    returned back the pool, which causes the port to have duplicates
    (inconsistent config).

AddTcpUdpPort() is invoked in three cases:

  • during InstanceRemove() through _RemoveDisks().
  • during InstanceSetParams() in case of disk removal.
  • during InstanceSetParams() through _ConvertDrbdToPlain().

This commit fixes the problem by removing the _WriteConfig() call from
AddTcpUdpPort(), delegate it to Update() via the
TemporaryReservationManager and ensure AddTcpUdpPort() precedes
Update().

Signed-off-by: Dimitris Aragiorgis <>
[: small comments adjustements]
Signed-off-by: Iustin Pop <>
Reviewed-by: Iustin Pop <>

Files

  • added
  • modified
  • copied
  • renamed
  • deleted

View differences