On Fri, May 24, 2019 at 09:17:15AM -0400, Josef Bacik wrote: > On Fri, May 24, 2019 at 05:43:56PM +0800, Yao Liu wrote: > > When sock dead, nbd_read_stat should return a ERR_PTR and then we should > > mark sock as dead and wait for a reconnection if the dead sock is the last > > one, because nbd_xmit_timeout won't resubmit while num_connections <= 1. > > num_connections is the total number of connections that the device was set up > with, not how many are left. Now since we have the dead_conn_timeout timeout > stuff now which didn't exist when I originally wrote this code I'd be ok with > doing that, but not the way you have it now. It would be something more like > > if (nbd_disconnected(config) || > (config->num_connections <= 1 && > !config->dead_conn_timeout) > > instead. Thanks, > > Josef > Your solution is better indeed.