Hallo Frithjof,
ich glaube, die Lösung gefunden zu haben:
sudo mount -t cifs -o username=USER,rw,nosuid,nodev,nofail,nobrl,vers=1.0,noforcegid,rsize=65536 //10.16.1.1/USER /home/teachers/USER/Home_auf_Server
rsize muss kleiner als 131072 sein. Ich habe hier die Hälfte genommen.
Bei uns ist das Problem beim Kopieren von Tausch sporadisch, dann aber massenhaft aufgetreten. Eine besonderen Situation hat sich dann als reproduzierbar herausgestellt. Ich hoffe, dass das wirklich der gleiche Effekt ist:
- Öffne auf Home_auf_Server ein LibreOffice Dokument
- Während das Dokument geöffnet ist, kopiere die Datei auf deinen Rechner.
- Das endlose Kopieren beginnt.
- Dasselbe mit geschlossenen LibreOffice kopiert die Datei richtig.
Ein strace auf den Kopiervorgang (strace cp Home_auf_Server/Datei.odt /blabli) zeigt
mmap(NULL, 139264, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f55accb5000
read(3, "PK\3\4\24\0\0\10\0\0tb|O\205l9\212.\0\0\0.\0\0\0\10\0\0\0mi"..., 131072) = 131072
write(4, "PK\3\4\24\0\0\10\0\0tb|O\205l9\212.\0\0\0.\0\0\0\10\0\0\0mi"..., 131072) = 131072
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 131072) = 131072
write(4, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 131072) = 131072
...
...
Ein richtiges Kopieren sieht so aus, Datei ist 6956 Byte groß:
mmap(NULL, 139264, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f5883b56000
read(3, "PK\3\4\24\0\0\10\0\0tb|O\205l9\212.\0\0\0.\0\0\0\10\0\0\0mi"..., 131072) = 6956
write(4, "PK\3\4\24\0\0\10\0\0tb|O\205l9\212.\0\0\0.\0\0\0\10\0\0\0mi"..., 6956) = 6956
Vermutung: Neuere cifs-clients setzen die rsize auf 1Mbit, wenn Sie erkennen, dass der Server die POSIX extensions und damit auch large POSIX reads anbieten. Das scheint bei Samba-server 3.6.25 wohl nicht richtig umgesetzt zu sein. Oder bei den Linuxclients wird die readsize nicht richtig umgesetzt. Getestet habe ich mit Ubuntu 18.04LTS und Debian Buster. Übrigens tritt der Fehler nur mit mount.cifs auf; einbinden mit smb:// liefert keine Fehler. Spricht eigentlich für client-Fehler.
Bei den Einstellungen des Sambaservers konnte ich auch nichts finden, was das falsche Kopieren behebt. Bleibt also nur die rsize des clients zu ändern.
Wie gesagt, ich hoffe, dass das alles auch für die sporadischen Kopierfehler gilt. Das wird sich dann in den nächsten Wochen zeigen.
Viele Grüße,
Helge