On Wed, Apr 17, 2019 at 06:52:22PM +0800, Xin Long wrote:
From: Hangbin Liu <liuhangbin(a)gmail.com>
As we don't have a default value for link_watch.interval. If a user
forgets to set this parameter, teamd will fail to init ports' priv
and exit in the end.
e.g.
teamd -g -c '{"runner":{"name":"activebackup"},
"link_watch":{"name":"arp_ping","target_host":"198.51.100.1"}}'
teamdctl team0 port add p5p1
teamdctl team0 port add p5p2
teamd debug log shows:
p5p2: Got link watch from global config.
p5p2: Using sticky "0".
Failed to get "interval" link-watch option.
Failed to load options.
Failed to init port priv.
Callback named "lw_periodic" not found.
Callback named "lw_socket" not found.
Loop callback failed with: Invalid argument
Failed loop callback: libteam_events, 0x5624c28b9410
select() failed.
Exiting...
Removed loop callback: usock_acc_conn, 0x5624c28bab60
Removed loop callback: usock, 0x5624c28b9410
Removed loop callback: workq, 0x5624c28b9410
Removed loop callback: libteam_events, 0x5624c28b9410
Removed loop callback: daemon, 0x5624c28b9410
Failed: Bad file descriptor
Fix it by adding a default value for link_watch.interval.
v2: update default value to 1000, as Jamie Bainbridge suggested.
v3: fix the changelog to pass checkpatch.pl.
Reported-by: LiLiang <liali(a)redhat.com>
Reviewed-by: Jamie Bainbridge <jamie.bainbridge(a)gmail.com>
Signed-off-by: Hangbin Liu <liuhangbin(a)gmail.com>
---
Hi Jiri,
Would you please help try this one?
Thanks
Hangbin