A user reported that he was getting immediate disconnects with my
sndtimeo patch applied.  This is because by default the OSS nbd client
doesn't set a timeout, so we end up setting the sndtimeo to 0, which of
course means we have send errors a lot.  Instead only set our sndtimeo
if the user specified a timeout, otherwise we'll just wait forever like
we did previously.
Fixes: dc88e34d69d8 ("nbd: set sk->sk_sndtimeo for our sockets")
Reported-by: Adam Borowski <kilobyte@angband.pl>
Signed-off-by: Josef Bacik <jbacik@fb.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
                        continue;
                }
                sk_set_memalloc(sock->sk);
-               sock->sk->sk_sndtimeo = nbd->tag_set.timeout;
+               if (nbd->tag_set.timeout)
+                       sock->sk->sk_sndtimeo = nbd->tag_set.timeout;
                atomic_inc(&config->recv_threads);
                refcount_inc(&nbd->config_refs);
                old = nsock->sock;
                        return -ENOMEM;
                }
                sk_set_memalloc(config->socks[i]->sock->sk);
-               config->socks[i]->sock->sk->sk_sndtimeo = nbd->tag_set.timeout;
+               if (nbd->tag_set.timeout)
+                       config->socks[i]->sock->sk->sk_sndtimeo =
+                               nbd->tag_set.timeout;
                atomic_inc(&config->recv_threads);
                refcount_inc(&nbd->config_refs);
                INIT_WORK(&args->work, recv_work);