[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

flush su vfat e opzioni di automount



Buone vacanze e buon agosto a tutta la lista.

Scrivo subito che parlo di Wheezy.

Sto indagando su un problema relativo a tutte le chiavette usb formattate in
fat32. La velocità di scrittura è bassissima e inoltre tra un file e l'altro la
copia si ferma per molto tempo durante il quale la ram usata come cache aumenta.
L'effettiva velocità di scrittura l'ho controllata sia controllando quando dura
l'operazione, sia con "iostat -d 1 -m /dev/[periferica]" che arriva a calare
fino a 1 MB/s o meno.
iostat mi ha confermato che effettivamente il sistema smette di scrivere sulla
chiavetta ed è l'unico valore che ho considerato in quanto i valori dati dal
comando che sta scrivendo sono falsati dalla cache.
Qualunque tipo di scrittura faccio sulla chiavetta è soggetta a questo problema
quindi parlo di copie dal nautilus, dal terminale (cp, rsync...), scrittura di
zeri o immagini sulla chiavetta tramite dd ecc...
In tutti i casi tra una prova e l'altra mi sono ricordato di rimuovere la
chiavetta e svuotare la cache con "echo 3 > /proc/sys/vm/drop_caches".

Se le chiavette non sono formattate in fat il problema non si presenta.
Riducendo al minimo /proc/sys/vm/dirty_ratio il problema va quasi via (non è una
soluzione accettabile ma può essere utile per diagnosticare il problema).
Altra soluzione è rimontare la chiavetta senza l'opzione "flush" e allora
ottengo una velocità stabile tra 10 e 14 MB/s (contro 1-5 MB/s). Parlo sempre di
valori dati da iostat o facendo un calcolo rapido dato da
"dimensione/tempo_impiegato".

Per il momento prima di andare a fondo sulla questione avevo bisogno di mettere
una pezza al problema cambiando le impostazioni di automount in modo da togliere
"flush", però non riesco a capire come farlo. Mi sembra che udisks si occupi
dell'automount ma non riesco a trovare dove smanettare le impostazioni di mount.
La cosa più strana è che se io smonto il volume e lo rimonto con "udisks
--mount" mi viene rimontato già di suo con le stesse opzioni di mount di prima
ma senza "flush".
Speravo di evitare di usare fstab perché di chiavette ne vanno e vengono anche
da altre persone.

Ho letto in giro che una regola di udev può occuparsene ma non ho capito molto
su come configurarle e non sono sicuro che uno strumento così potente sia
necessario per quello che sto cercando perché a quanto ho capito non posso
cambiare solo le opzioni di mount ma devo per forza creargli una regola che si
occupi interamente dell'automount al posto di udisks, e ciò mi sembra un po'
eccessivo.

Riassumendo ho solo bisogno che ogni periferica USB formattata in fat venga
montata da udisks senza flush.

Qualcuno ha qualche dritta?

Davide


Reply to: