Hi Paul,

Thanks for the patch.  This same thing was the first thing I tried, but 
quickly realized that more was needed.  When -ERESTARTSYS is returned 
(without first shutting down the socket), we re-enter the ioctl, create 
another thread, and that thread prints out "nbd3: wrong magic", terminates, 
and we return -EPROTO to the client, which also terminates, and the block IO 
is hosed.

So, I experimented with keeping both the thread and the socket alive on 
ERESTARTSYS (I moved the thread ptr into the nbd_device struct).  But I 
still saw errors in nbd_read_stat(), and didn't have time to investigate 
further.

I think I might just hack killall5 for now, to prevent it from sending the 
SIGSTOP/SIGCONT to nbd.

Regards,
Ian
 


------------------------------------------------------------------------------
Benefiting from Server Virtualization: Beyond Initial Workload 
Consolidation -- Increasing the use of server virtualization is a top
priority.Virtualization can reduce costs, simplify management, and improve 
application availability and disaster protection. Learn more about boosting 
the value of server virtualization. http://p.sf.net/sfu/vmware-sfdev2dev
_______________________________________________
Nbd-general mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/nbd-general

Reply via email to