Skip to content
Snippets Groups Projects
  • Markus Armbruster's avatar
    a30ecde6
    net: Permit incremental conversion of init functions to Error · a30ecde6
    Markus Armbruster authored
    
    Error reporting for netdev_add is broken: the net_client_init_fun[]
    report the actual errors with (at best) error_report(), and their
    caller net_client_init1() makes up a generic error on top.
    
    For command line and HMP, this produces an mildly ugly error cascade.
    
    In QMP, the actual errors go to stderr, and the generic error becomes
    the command's error reply.
    
    To fix this, we need to convert the net_client_init_fun[] to Error.
    
    To permit fixing them one by one, add an Error ** parameter to the
    net_client_init_fun[].  If the call fails without returning an Error,
    make up the same generic Error as before.  But if it returns one, use
    that instead.  Since none of them does so far, no functional change.
    
    Signed-off-by: default avatarMarkus Armbruster <armbru@redhat.com>
    Reviewed-by: default avatarEric Blake <eblake@redhat.com>
    Message-id: 1431691143-1015-3-git-send-email-armbru@redhat.com
    Signed-off-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
    a30ecde6
    History
    net: Permit incremental conversion of init functions to Error
    Markus Armbruster authored
    
    Error reporting for netdev_add is broken: the net_client_init_fun[]
    report the actual errors with (at best) error_report(), and their
    caller net_client_init1() makes up a generic error on top.
    
    For command line and HMP, this produces an mildly ugly error cascade.
    
    In QMP, the actual errors go to stderr, and the generic error becomes
    the command's error reply.
    
    To fix this, we need to convert the net_client_init_fun[] to Error.
    
    To permit fixing them one by one, add an Error ** parameter to the
    net_client_init_fun[].  If the call fails without returning an Error,
    make up the same generic Error as before.  But if it returns one, use
    that instead.  Since none of them does so far, no functional change.
    
    Signed-off-by: default avatarMarkus Armbruster <armbru@redhat.com>
    Reviewed-by: default avatarEric Blake <eblake@redhat.com>
    Message-id: 1431691143-1015-3-git-send-email-armbru@redhat.com
    Signed-off-by: default avatarStefan Hajnoczi <stefanha@redhat.com>