Newsgroup: it.comp.os.linux.sys
Titolo: losetup e device non associato dopo il boot

come da oggetto: ho creato un loopFS, con losetup.
poi l'ho messo in fstab per montarlo al riavvio, ma dopo il riavvio 
dovevo riassociare il device con /dev/loop0
Il comando "mount" � rimasto in hang gi� dopo il boot e ho dovuto 
lanciare un bel/brutto:  echo b > /proc/sysrq-trigger
il kernel della ubuntu non ha un modulo "loop", ma solo un cryptoloop. 
Quindi mi pare che non ci sia nulla da caricare.
Il sistema incriminato �: ubuntu karmic
-- 
echo onailimissaM | awk 'BEGIN { FS = "" }
{ for (i = NF; i >= 1; i-- )
   printf $i }'; echo

 lanciare un bel/brutto:  echo b > /proc/sysrq-trigger
Perch� non mi stupisco mai delle tue trovate? Poi lamentati che il sistema 
ti si sputtana e i fs si corrompono...
-- 
Flavio Visentin
Ubuntu in Zulu significa "Non so usare Debian". (cit. CtRiX)

 sistema ti si sputtana e i fs si corrompono...
mai avuti problemi di FS da 4 anni a questa parte. Quando un processo � 
in hang, e non si fa killare non � che ci sia molto da scegliere.


 apache-mpm-worker di Fedora
Fedora Directory Server (preso dai repository per ubuntu).


 /dev/loop0 /var/chroot xfs noatime 0 2
/mnt/www_db/chroot.lo  /var/chroot  xfs  loop,noatime  0  2
Nell'altra maniera, funziona solo dopo aver riassociato manualmete il file.


 Nell'altra maniera, funziona solo dopo aver riassociato manualmete il file.
risolto si... per� che strano. Nemmeno cos� funziona:
/dev/loop0 /var/chroot xfs loop,noatime 0 2  (cio� mettendo l'opzione loop)
Invece scrivendo il file al posto del device funziona.
Per�, usando il file, quando lancio losetup -a non compare alcun device 
associato... come se non usasse /dev/loop* ma qualcosa di diverso.
A questo punto il dubbio � che /dev/loop* sia legacy, lasciato l� per 
essere retrocompatibile.


 essere retrocompatibile.
cazzata:
umount /var/chroot
losetup -d /dev/loop0
(cambio la riga in fstab per fargli montare il file e non il device)
mount -a
losetup -a
/dev/loop0: [0900]:165218 (/mnt/www_db/chroot.lo)
man mount, man losetup .... niente, deserto. Ma chi? Ma come? Ma chi cazzo!
In nessun posto viene spiegato questo problema che causa un hang del 
mount durante il boot.


 essere retrocompatibile.
Leggi la doc e togliti i dubbi.
man losetup
man mount


 man mount
pu� essermi sfuggito qualcosa, ma da nessuna parte ho trovato che se 
metti il device allora devi lanciare prima a mano losetup, e che se 
invece metti il file e aggiungi l'opzione loop, allora fa tutto lui.


 invece metti il file e aggiungi l'opzione loop, allora fa tutto lui.
OK: usando la logica (cosa che mi sembra mancare di questi giorni) avrei 
potuto capire che se gli dico "/dev/loop0", visto che sul filesystem ci 
sono qualche milioncino di file, lui non ha idea con quale file potrebbe 
associarlo :-)
Per�, ti dico che quella riga me la sono inventata io alla fine, 
semplicemente pensando alla riga di comando:
mount file /mount/point -o loop.....


 in hang, e non si fa killare non � che ci sia molto da scegliere.
C'� moltissimo da scegliere, solo che per scegliere bisogna conoscere e per 
conoscere bisogna leggere (attentamente).
/usr/src/<linux-source>/Documentation/sysrq.txt


 invece metti il file e aggiungi l'opzione loop, allora fa tutto lui.
Il mio man mount ha questo:
"If no explicit loop device is mentioned (but just an option `-o loop' is 
given), then mount will try to find some unused loop device and use that." 

 /usr/src/<linux-source>/Documentation/sysrq.txt
non la leggo nemmeno: prima si da il sync (anche con echo s >...), poi 
si da il term (credo con echo e), poi si da il kill (credo con echo i), 
e poi si da il boot (con echo b).


> puï¿œ essermi sfuggito qualcosa, ma da nessuna parte ho trovato che se

si da riga di comando ï¿œ giuso.
La mia stupidaggine consisteva nel fatto che specificando "/dev/loop0", 
giustamente il sistema come fa a sapere quale file andare a prendere per 
associarlo.
Avevo erroneamente ritenuto che "losetup" creasse una associazione 
permanente.... una sciocchezza.


 quello che parte all'avvio del sistema.
per precisione: esiste anche un xfs_check
mai usato nemmeno questo in vita mia o forse solo per cazzeggio.
E comunque, non viene richiamato all'avvio del sistema e non esistono 
opzioni tipo quelle che si passano con tune2f per cadenzare l'fsck ogni 
X riavvi, o ogni Y giorni. Con xfs il check preventivo non si fa.
