[Libguestfs] [libnbd PATCH 0/3] Expose server block size constraints

Eric Blake eblake at redhat.com
Fri Jul 24 04:01:20 UTC 2020


Necessary when writing a client that wants to avoid unnecessary EINVAL
errors from sending unaligned requests.

At some point, we may want to add synchronous convenience API wrappers
that do request splitting or read-modify-write to obey server
constraints while still appearing to the library client as accepting
any possible request.  But such a wrapper should only be synchronous
and not copied to nbd_aio_*, because getting locking right is a bear
if you have two non-overlapping client requests that want to visit the
same larger-granularity window of the server in parallel.

Eric Blake (3):
  states: Request NBD_INFO_BLOCK_SIZE during NBD_OPT_GO
  api: Add new API to query negotiated block size
  nbdinfo: Expose block size constraints

 info/nbdinfo.pod                   |  6 +++
 lib/internal.h                     |  7 +++
 lib/nbd-protocol.h                 | 10 ++++-
 generator/API.ml                   | 70 +++++++++++++++++++++++++++---
 generator/state_machine.ml         |  7 +++
 generator/states-newstyle-opt-go.c | 31 +++++++++++--
 lib/flags.c                        | 18 +++++++-
 info/nbdinfo.c                     | 18 ++++++++
 8 files changed, 156 insertions(+), 11 deletions(-)

-- 
2.27.0




More information about the Libguestfs mailing list