Skip to content
Snippets Groups Projects
  1. Nov 06, 2023
  2. Nov 03, 2023
  3. Nov 01, 2023
    • Steve Sistare's avatar
      cpr: relax blockdev migration blockers · e0ee3a8f
      Steve Sistare authored
      
      Some blockdevs block migration because they do not support sharing across
      hosts and/or do not support dirty bitmaps.  These prohibitions do not apply
      if the old and new qemu processes do not run concurrently, and if new qemu
      starts on the same host as old, which is the case for cpr.  Narrow the scope
      of these blockers so they only apply to normal mode.  They will not block
      cpr modes when they are added in subsequent patches.
      
      No functional change until a new mode is added.
      
      Signed-off-by: default avatarSteve Sistare <steven.sistare@oracle.com>
      Reviewed-by: default avatarJuan Quintela <quintela@redhat.com>
      Signed-off-by: default avatarJuan Quintela <quintela@redhat.com>
      Message-ID: <1698263069-406971-4-git-send-email-steven.sistare@oracle.com>
      e0ee3a8f
  4. Oct 31, 2023
  5. Oct 20, 2023
  6. Oct 12, 2023
  7. Oct 05, 2023
    • Eric Blake's avatar
      nbd/client: Accept 64-bit block status chunks · a7c18670
      Eric Blake authored
      
      Once extended mode is enabled, we need to accept 64-bit status replies
      (even for replies that don't exceed a 32-bit length).  It is easier to
      normalize narrow replies into wide format so that the rest of our code
      only has to handle one width.  Although a server is non-compliant if
      it sends a 64-bit reply in compact mode, or a 32-bit reply in extended
      mode, it is still easy enough to tolerate these mismatches.
      
      In normal execution, we are only requesting "base:allocation" which
      never exceeds 32 bits for flag values. But during testing with
      x-dirty-bitmap, we can force qemu to connect to some other context
      that might have 64-bit status bit; however, we ignore those upper bits
      (other than mapping qemu:allocation-depth into something that
      'qemu-img map --output=json' can expose), and since that only affects
      testing, we really don't bother with checking whether more than the
      two least-significant bits are set.
      
      Signed-off-by: default avatarEric Blake <eblake@redhat.com>
      Reviewed-by: default avatarVladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
      Message-ID: <20230925192229.3186470-22-eblake@redhat.com>
      a7c18670
    • Eric Blake's avatar
      nbd/client: Initial support for extended headers · 4fc55bf3
      Eric Blake authored
      
      Update the client code to be able to send an extended request, and
      parse an extended header from the server.  Note that since we reject
      any structured reply with a too-large payload, we can always normalize
      a valid header back into the compact form, so that the caller need not
      deal with two branches of a union.  Still, until a later patch lets
      the client negotiate extended headers, the code added here should not
      be reached.  Note that because of the different magic numbers, it is
      just as easy to trace and then tolerate a non-compliant server sending
      the wrong header reply as it would be to insist that the server is
      compliant.
      
      Signed-off-by: default avatarEric Blake <eblake@redhat.com>
      Message-ID: <20230925192229.3186470-21-eblake@redhat.com>
      [eblake: fix trace format]
      Reviewed-by: default avatarVladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
      4fc55bf3
    • Eric Blake's avatar
      nbd/client: Plumb errp through nbd_receive_replies · ed6c996c
      Eric Blake authored
      
      Instead of ignoring the low-level error just to refabricate our own
      message to pass to the caller, we can just plumb the caller's errp
      down to the low level.
      
      Signed-off-by: default avatarEric Blake <eblake@redhat.com>
      Message-ID: <20230925192229.3186470-20-eblake@redhat.com>
      Reviewed-by: default avatarVladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
      ed6c996c
Loading