Eu estava correndo em um problema semelhante, um cliente falhou ao copiar um arquivo grande e o arquivo foi bloqueado após a reinicialização. Felizmente isso não acontece com muita frequência, mas ainda é muito chato ter que matar o processo de samba.
reset on zero vc
pareceu ser apenas a solução, mas supostamente foi removida do Samba4, embora a Versão 4.7.6 no Fedora (27) ainda a tenha (possivelmente corrigida por RH). Não vai ajudar muito de qualquer maneira, como a página de manual agora diz, ele só funciona com o SMB1 (que não deve mais ser usado) e não faz nada em conexões SMB2 e SMB3, a única maneira de lidar com isso é mencionado no tópico vinculado por Micheal . Eu não sei a razão por trás da remoção e o que há de tão ruim em reset on zero vc
, eu consideraria usar o tcp timeout para esse propósito mais como um hack. De qualquer forma, algo razoável poderia ser, por exemplo,
socket options = TCP_NODELAY SO_KEEPALIVE TCP_KEEPIDLE=30 TCP_KEEPCNT=3 TCP_KEEPINTVL=3
Isso matará a conexão em cerca de 40 segundos (30 + 3 * 3) após a última comunicação, o que geralmente é mais do que suficiente para perceber uma falha e reinicialização (dado que a pilha tcp do servidor é inteligente o suficiente para fechar a conexão quando o cliente rejeita seus pacotes keepalive após a reinicialização).
Note que isso aumenta a carga na sua rede, mas duvido que seja até perceptível mesmo com muitos clientes.