squashfs und df

14/06/2011 - 03:55 von Hauke Laging | Report spam
Moin,

df zeigt für ein squashfs-Volume die Größe der Imagedatei, also der
komprimierten Daten an, was ja ziemlich bescheuert ist. Mache ich da
irgendwas falsch? Warum sollte squashfs diese Größe an den Kernel melden?
Fragt der Kernel womöglich gar nicht das FS, sondern nimmt die Größe des
zugrundeliegenden block device?

So, ich habe selber noch ein bisschen recherchiert, beginnend damit, df
durch strace laufen zu lassen. Es gibt nur einen relevanten kernel call, und
das ist statfs. df multipliziert offenbar die Angaben für

__SWORD_TYPE f_bsize; /* optimal transfer block size */
fsblkcnt_t f_blocks; /* total data blocks in file system */

Die Erklàrung "optimal transfer block size" kommt mir arg komisch vor, aber
egal. f_bsize ist gerade der von mksquashfs verwendete Wert für "data block
size". Offenbar bezieht der sich auf bereits komprimierte Daten.

Darf man das als Bug in squashfs ansehen? du liefert die korrekte
(entpackte) Größe.


CU

Hauke
http://www.hauke-laging.de/ideen/
D44C 6A5B 71B0 427C CED3 025C BD7D 6D27 ECCB 5814
 

Lesen sie die antworten

#1 g.fink
14/06/2011 - 06:05 | Warnen spam
In article ,
Hauke Laging writes:

Darf man das als Bug in squashfs ansehen? du liefert die korrekte
(entpackte) GröàŸe.



Kein Bug. df liefert die richtige Größe des komprimierten Geràtes
und des freien platzes darauf. Also 0.

Übrigens kann dich du auf einen Squashfs auch überraschen. Bei mir liefert
es einen falschen wert für leere Dateien.

MFG Gernot

Ähnliche fragen