Se ho un client Windows che legge un file su una condivisione SMB Linux a intervalli <= 10 secondi, il client Windows mostrerà informazioni errate (memorizzate nella cache?) Di quel file.
L'ho riprodotto su più sistemi.
Passaggi di esempio per riprodurre:
1) configurare la condivisione samba di Linux - per questo esempio, usare Debian e installare samba. esempio:
sudo mkdir /test
sudo chmod 777 /test
aggiunta smb.conf:
[test]
read only = no
locking = no
path = /test/
guest ok = yes
2) Mappa questa directory come unità in un client Windows (questo test utilizzerà L :)
3) crea un file con del testo sul server samba
nano /test/test.txt
ORIGINAL
4) creare un semplice file batch sul computer Windows per visualizzare il file ogni 5 secondi:
copy con test.bat
@echo off
cls
:1
type L:\test.txt
timeout 5
goto 1
5) eseguire il file batch, dovrebbe mostrare ORIGINAL ogni 5 secondi.
6) sul server Linux, modificare il contenuto del file
nano /test/test.txt
CHANGED
7) visualizza il file batch in esecuzione su Windows, continuerà a dire "ORIGINALE" ogni cinque secondi, e non "CAMBIATO" come ha il file reale.
8) termina il file batch e attendi ~ 15 secondi, O cambia il timeout in qualcosa> 10 secondi e si aggiornerà correttamente.
Spero di aver spiegato e delineato come testarlo sufficientemente.
Qualcuno può riprodurre questo comportamento e / o suggerire come risolverlo?
.
.
.
APPUNTI:
Client Linux> Host SMB Linux mostra il contenuto del file corretto.
Client Windows> L'host SMB di Windows mostra il contenuto del file corretto.
È specificamente client Windows> Host SMB Linux che non mostra il contenuto del file corretto a un intervallo di aggiornamento di <= 10 secondi.
Tutte le versioni di Windows che ho provato con (Win7, Win10, Server2016) mostrano lo stesso comportamento.
Ho anche testato protocolli diversi sulla mia condivisione samba 'NT1, SMB2, SMB3' e non cambiano il comportamento.
NOTA: credo che questo sia molto probabilmente un problema di Windows, ma non ho ricevuto alcuna risposta su technet o superutente in una settimana. Questo dovrebbe essere abbastanza facile da testare, qualcuno può confermare questo comportamento o dichiarare diversamente?