Bonjour.
Je viens de me rendre compte de quelque chose d'assez surprenant après une mise à jour de CentOS 6.4 vers 6.5, et je voulais vous en faire part car je ne sais pas si c'est "normal" ou bien carrément un bug.
Le problème vient quand je souhaite écrire dans un fichier monté sur partage CIFS. Imaginons ceci :
$ echo "hello" >> /mnt/cifs/output.log
$ echo "hello2" >> /mnt/cifs/output.log
$ echo "hello3" >> /mnt/cifs/output.log
On devrait avoir évidemment dans le fichier output.log ceci :
hello
hello2
hello3
Eh bien moi j'ai :
hello3
Le shell réécrit au début du fichier par dessus les anciennes données !
Ce problème est apparu depuis CentOS 6.5, avec le kernel 2.6.32-431.el6.x86_64 (pareil avec le dernier 2.6.32-431.1.2.0.1.el6.x86_64).
Quand je reboot sur le 2.6.32-358.23.2.el6.x86_64 (CentOS 6.4) pas de soucis.
Par ailleurs, j'ai testé la redirection sur un partage CIFS Windows 7 et NetApp, c'est pareil dans les 2 cas.
Le problème semble en fait venir du paramètre "cache" lors du montage CIFS. J'utilisais le mode "cache=none". Quand j'utilise le mode "cache=strict" j'ai le même soucis. Par contre si j'utilise le mode "cache=loose" ou bien que je ne spécifie rien, là ça marche !
J'ai lu le paragraphe CACHE COHERENCY dans le man "mount.cifs" mais je ne suis pas plus avancé quant à savoir si ce problème est "normal" compte tenu du mode cache choisi ou non, ou si c'est un bug.
# gestion d'erreur
Posté par Salk . Évalué à 3.
Récupère le code d'erreur des deux premières lignes ? Une erreur en écriture est toujours possible.
[^] # Re: gestion d'erreur
Posté par WhiteCat . Évalué à 2.
Je me suis aperçu de ce soucis lorsque mes scripts ne marchaient plus après màj, donc a priori ce n'est pas une erreur de frappe de ma part.
Quoi qu'il en soit, j'ai bien un code retour "0" à chaque fois.
# intéressant...
Posté par neologix . Évalué à 2.
Et si tu mets un sleep de mettons 2s entre chaque commande ?
[^] # Re: intéressant...
Posté par WhiteCat . Évalué à 2.
Ça ne change rien, je peux même mettre en sync ou un umount/mount entre chaque echo.
# idées
Posté par Krunch (site web personnel) . Évalué à 2.
Je présume que rien n'a changé du côté serveur.
En regardant les release/technical notes de RHEL 6.5 je vois rien qui soit directement en rapport mais il y a eu pas mal de changements dans la gestion du cache relatif à NFS. Peut-être que ces changements ne sont pas si spécifiques à NFS qu'on pourrait le penser…
Si tu ne veux pas éplucher tous les patches (ce qui n'est plus vraiment faisable sans être un employé Red Hat de toute façon), tu peux peut-être investiguer le problème autrement. Quelques idées :
- effectuer une capture réseau lorsque tu reproduis le problème et lorsque le problème n'existe pas et comparer les deux ;
- confirmer que le problème n'arrive pas si tu fais un sync(1) entre les deux echo ;
- vérifier si le problème est aussi présent avec NFS.
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
[^] # Re: idées
Posté par WhiteCat . Évalué à 2.
Merci pour tes recommandations.
[^] # side channel support
Posté par Krunch (site web personnel) . Évalué à 3.
Si tu as quelque chose à rajouter, tu peux te créer un compte sur le Bugzilla Red Hat et contribuer https://bugzilla.redhat.com/1044438
Mais a priori, Sachin (qui est familier avec le code concerné) est en train d'investiguer.
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
[^] # Re: side channel support
Posté par Krunch (site web personnel) . Évalué à 2.
Bon bah il y a un patch dans le Bugzilla. Tu peux attendre que ça soit releasé ou tu peux rebuilder ta quenelle.
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
[^] # Re: side channel support
Posté par WhiteCat . Évalué à 2.
Nikel ! Merci d'avoir reporté ça.
J'ai effectivement déjà un compte Bugzilla (j'ai déjà reporté pas mal de bugs) et je comptais justement en créer un.
Ce matin je viens de bien formaliser mes tests, et c'est encore différent selon que j'écris sur NetApp (SMB1) ou Win 7 (SMB2/3).
Je vais mettre tout ça dans le ticket créer par Sachin.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.