hdparm --read-sector ergibt Segfault

powerfx

Admiral
Registriert
Apr. 2009
Beiträge
9.351
Nabend zusammen.

Verstehe grad was nicht.
Um es einfach zu erklären:
Code:
# uname -r
2.6.32-220.4.2.el6.x86_64
Code:
# df
Dateisystem          1K‐Blöcke   Benutzt Verfügbar Ben% Eingehängt auf
/dev/sdb1             87654321  43827160  43827160  50% /
~
Code:
# hdparm --fibmap /foo/bar.txt

/foo/bar.txt: underlying filesystem: blocksize 4096, begins at LBA 2048; assuming 512 byte sectors
 byte_offset  begin_LBA    end_LBA    sectors
           0   12345678   12345685          8
Soweit noch alles ok, aber jetzt:
Code:
# hdparm --read-sector 12345678 /dev/sdb

/dev/sdb:
Speicherzugriffsfehler (Speicherabzug geschrieben)
Wieso denn?
Weiß jemand, woran das liegt?

Wäre ich sehr dankbar für. :)
 
Ja, root muss man glaube ich auf jeden Fall sein.
Bin ich aber auch (#).
 
Laut manpage gibt --fibmap LBA-Sektoren aus. --read-sector verlangt zwar auch Sektoren im Dezimalformat, aber sind das dann auch die LBA-Sektoren? Das L in LBA steht ja für logisch. Vielleicht hätte hdparm lieber den CHS-Sektor?

Das sind alles Mutmaßungen, weil ich das selber noch nicht ausprobiert habe. Wie ist denn die Ausgabe von:

fdisk -l -u /dev/sdb ?
 
LBA sollte stimmen, aber man kann jeden beliebigen Sektor nehmen. Es ist jedes mal ein Segfault.
Code:
# fdisk -l -u /dev/sdb

Platte /dev/sdb: 64.0 GByte, 64023257088 Byte
255 Köpfe, 63 Sektoren/Spur, 7783 Zylinder, zusammen 125045424 Sektoren
Einheiten = Sektoren von 1 × 512 = 512 Bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000d0cd1

   Gerät  boot.     Anfang        Ende     Blöcke   Id  System
/dev/sdb1   *        2048   117442559    58720256   83  Linux
/dev/sdb2       117442560   125044735     3801088   82  Linux Swap / Solaris
 
Hm. Der von Dir angegebene Sektor liegt in der Swap-Partition. Aber als root sollte das auf jeden Fall trotzdem funktionieren.
Vielleicht ist das wirklich ein Bug in der von Dir verwendeten hdparm-Version. Wenn das wirklich wichtig ist, dann würde ich mal kurz versuchen eine aktuelle hdparm-Version im home-Verzeichnis zu kompilieren und sehen, ob der Fehler damit auch noch auftritt.

Ein kurzer Versuch bei mir (Ubuntu 10.04) funktioniert:

Code:
~$ sudo hdparm --read-sector 374609920 /dev/sda

/dev/sda:
reading sector 374609920: succeeded
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
Ergänzung ()

Habe gerade mal bei SF die aktuelle Version 9.39 von hdparm runtergeladen und kompiliert. Damit gehts bei mir auch problemlos.

Hast Du das mal probiert?
 
Ne, muss ich mal versuchen.
Der Sektor war nur fiktiv. :)
Er liegt schon noch auf der ersten ext4-Partition.
 
Ja, mit v9.39 funktioniert es jetzt tatsächlich.
Fragt sich nur, wieso die "offizielle" v9.16 nicht wollte...

Möglicherweise tatsächlich ein Bug.
Danke jedenfalls. :)
 
Zurück
Oben