qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 0/7] reorganize operation of "qemu-nbd -c" and fix it
@ 2011-11-04 14:51 Paolo Bonzini
  2011-11-04 14:51 ` [Qemu-devel] [PATCH 1/7] nbd: treat EPIPE from NBD_DO_IT as success Paolo Bonzini
                   ` (7 more replies)
  0 siblings, 8 replies; 9+ messages in thread
From: Paolo Bonzini @ 2011-11-04 14:51 UTC (permalink / raw)
  To: qemu-devel; +Cc: kwolf

This is another approach to fixing the breakage of "qemu-nbd -c" due
to mixing fork with threads.  It switches operation of qemu-nbd to
threads completely, with the exception of daemonization which is moved
as early as possible to avoid conflicts with threads.

Patches 1 and 2 are bugfixes to qemu-nbd, the first more or less
unrelated, the second required by the rest of the patch.

Patches 3 and 4 change "qemu-nbd -c" to operate within a single process.
They are enough to fix the current breakage of "qemu-nbd -c -v", but not
enough for "qemu-nbd -c".  For that you need patch 5 too, which moves
the daemonization to before the block layer is initialized.

Patches 6 and 7 remove more warts that are now easily fixed.

The patches are large, but unfortunately so is the breakage.

Paolo Bonzini (7):
  nbd: treat EPIPE from NBD_DO_IT as success
  qemu-nbd: trap SIGTERM
  qemu-nbd: rename socket variable
  qemu-nbd: move client to a thread
  qemu-nbd: print error messages from the daemon through a pipe
  qemu-nbd: fix socket creation race condition
  qemu-nbd: open the block device after starting the client thread

 nbd.c      |    7 ++
 qemu-nbd.c |  289 +++++++++++++++++++++++++++++++++++++++--------------------
 2 files changed, 194 insertions(+), 102 deletions(-)

-- 
1.7.6.4

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2011-11-08 15:05 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-11-04 14:51 [Qemu-devel] [PATCH 0/7] reorganize operation of "qemu-nbd -c" and fix it Paolo Bonzini
2011-11-04 14:51 ` [Qemu-devel] [PATCH 1/7] nbd: treat EPIPE from NBD_DO_IT as success Paolo Bonzini
2011-11-04 14:51 ` [Qemu-devel] [PATCH 2/7] qemu-nbd: trap SIGTERM Paolo Bonzini
2011-11-04 14:51 ` [Qemu-devel] [PATCH 3/7] qemu-nbd: rename socket variable Paolo Bonzini
2011-11-04 14:51 ` [Qemu-devel] [PATCH 4/7] qemu-nbd: move client to a thread Paolo Bonzini
2011-11-04 14:51 ` [Qemu-devel] [PATCH 5/7] qemu-nbd: print error messages from the daemon through a pipe Paolo Bonzini
2011-11-04 14:51 ` [Qemu-devel] [PATCH 6/7] qemu-nbd: fix socket creation race Paolo Bonzini
2011-11-04 14:51 ` [Qemu-devel] [PATCH 7/7] qemu-nbd: open the block device after starting the client thread Paolo Bonzini
2011-11-08 15:08 ` [Qemu-devel] [PATCH 0/7] reorganize operation of "qemu-nbd -c" and fix it Kevin Wolf

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).