[Libguestfs] [nbdkit PATCH 0/2] Improve shutdown race in nbd plugin

Eric Blake eblake at redhat.com
Fri Mar 27 22:33:26 UTC 2020


I still need more soak time on testing, to see whether I can:
a) reproduce the hang with patch 2 not applied
b) feel confident that patch 2 is sufficient to fix the race, or else
determine that I also need to augment the loop condition in the reader
thread to additionally break out of the loop when the pipe-to-self
sees EOF even when nbd_aio_is_dead() has not yet been satisfied

I'm also fairly confident that I'll need to patch libnbd to call
shutdown(SHUT_WR) on plaintext and gnutls_bye(GNUTLS_SHUT_WR) on TLS
connections after sending NBD_CMD_DISC, as that is something we lowt
when the nbd plugin switched to libnbd, even after documenting in
commit 430f8141 why it is important for preventing shutdown deadlocks.

Eric Blake (2):
  nbd: Don't reference stale errno in reader loop
  nbd: Reorder cleanup to avoid getting stuck in poll()

 plugins/nbd/nbd.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

-- 
2.26.0.rc2




More information about the Libguestfs mailing list