Skip to content
Snippets Groups Projects
  • Eric Blake's avatar
    8db7e2d6
    nbd/server: Refactor handling of command sanity checks · 8db7e2d6
    Eric Blake authored
    
    Upcoming additions to support NBD 64-bit effect lengths will add a new
    command flag NBD_CMD_FLAG_PAYLOAD_LEN that needs to be considered in
    our sanity checks of the client's messages (that is, more than just
    CMD_WRITE have the potential to carry a client payload when extended
    headers are in effect).  But before we can start to support that, it
    is easier to first refactor the existing set of various if statements
    over open-coded combinations of request->type to instead be a single
    switch statement over all command types that sets witnesses, then
    straight-line processing based on the witnesses.  No semantic change
    is intended.
    
    Signed-off-by: default avatarEric Blake <eblake@redhat.com>
    Message-ID: <20230829175826.377251-24-eblake@redhat.com>
    Reviewed-by: default avatarVladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
    8db7e2d6
    History
    nbd/server: Refactor handling of command sanity checks
    Eric Blake authored
    
    Upcoming additions to support NBD 64-bit effect lengths will add a new
    command flag NBD_CMD_FLAG_PAYLOAD_LEN that needs to be considered in
    our sanity checks of the client's messages (that is, more than just
    CMD_WRITE have the potential to carry a client payload when extended
    headers are in effect).  But before we can start to support that, it
    is easier to first refactor the existing set of various if statements
    over open-coded combinations of request->type to instead be a single
    switch statement over all command types that sets witnesses, then
    straight-line processing based on the witnesses.  No semantic change
    is intended.
    
    Signed-off-by: default avatarEric Blake <eblake@redhat.com>
    Message-ID: <20230829175826.377251-24-eblake@redhat.com>
    Reviewed-by: default avatarVladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>