Samba : même 'ls' boucle quand le serveur tombe

Monter un répertoire en samba (mount…), tuer le serveur, un simple ls sur le répertoire monté tourne en boucle sans rien renvoyer. La seule solution est de faire un umout.

Ok, mais comment faire quand on a un soft qui doit faire des gros transferts samba et qui doit donc, au moins, détecter de façon non bloquante si le répeertoire est encore accessible ou pas?

Si ce n’est pas possbile sans toucher je ne sais quoi au server (je n’ai pas accès au serveur…) quelle est la façon la plus simple de faire du samba “par transaction” (sans monter le partage). Son fait du samba par dessus du fuse, est ce qu’un ls freezera tout pariel?

Fakbill, qui voudrait bien que son soft ne freeze pas quand le serveur tombe.

tu peux essayer de faire ton ls de façon asynchrone et de le tuer si’il ne réponds pas au bout d’un certain temps. (tu peux ensuite évoluer ton algo en proposant une fenetre de confirmation)

tu peux essayer un ping sur ton serveur avant ta transaction. (méthode "artisanale" bon pour un soft maison mais pas commercial)

utilise un systeme style rsync ou unison…

n’empeche que samba est tres tres tres stable…

Rien de mieux que de forquer, de faire un ls (ou un truc du genre) et de lui laisse N secondes pour répondre et d’afficher un message d’erreur et kill -9 sur le process qui fait le “ls”.

Bof bof. Il n’y a pas le moyen de mettre un timeout dans les options de chargement du module? dans le mount (vu le man, il semble que non).

Je n’ai pas le choix : c’est du samba, pas de nfs ou de rsync ou autre.

Il faudrait que je teste avec samba sur du fuse

v_aketor : une ideée? :slight_smile:

fakbill: aucune désolé :frowning:

tu peux essayer à la place de fortk d’utiliser un signal (alarm); c’est plus propre mais bon, ce n’est pas terrible.

Protocole de merde… :wink: Merci quand même.