Scroll to navigation

SD(4) Podręcznik Programisty Linuksa SD(4)

NAZWA

sd - sterownik dysków twardych SCSI

DEFINICJA

#include <linux/hdreg.h> /* for HDIO_GETGEO */ #include <linux/fs.h> /* for BLKGETSIZE and BLKRRPART */

KONFIGURACJA

Nazwa tego urządzenia blokowego ma następującą postać: sdlp, gdzie l jest literą oznaczającą fizyczny dysk, a p jest cyfrą oznaczającą partycję na tym fizycznym dysku. Często numer partycji p jest opuszczany, jeśli nazwa urządzenia odnosi się do całego dysku.

Dyski SCSI mają główny numer urządzenia równy 8, a numer poboczny w postaci (16 * numer_dysku) + numer_partycji, gdzie numer_dysku jest numerem fizycznego dysku wg kolejności wykrywania, a numer_partycji jest następujący:

partycja 0 to cały dysk
partycje 1-4 to "podstawowe" partycje DOS
partycje 5-8 to "rozszerzone" ("logiczne") partycje DOS

Dla przykładu, /dev/sda ma numer główny 8, poboczny 0 i odnosić się będzie do całego pierwszego dysku SCSI w systemie; /dev/sdb3 ma numer główny 8, poboczny 19 i odnosić się będzie do trzeciej "podstawowej" partycji DOS na drugim dysku SCSI w systemie.

W chwili obecnej, obsługiwane są jedynie urządzenia blokowe. Urządzenia surowe nie zostały jeszcze zaimplementowane.

OPIS

Obsługiwane są następujące ioctle:

Zwraca parametry dysku z BIOS w następującej strukturze:
struct hd_geometry {

unsigned char heads;
unsigned char sectors;
unsigned short cylinders;
unsigned long start; };

Wskaźnik do tej struktury przekazywany jest jako parametr funkcji ioctl(2).

Informacja zwracana do parametru jest geometrią dysku w rozumieniu systemu DOS! Owa geometria nie jest fizyczną geometrią dysku. Jest jednak używana przy konstruowaniu tablicy partycji danego dysku i jest niezbędna dla poprawnego działania programów fdisk(1), efdisk(1) i lilo(1). Jeśli informacja o geometrii jest niedostępna, zwrócona będzie wartość zero dla wszystkich parametrów.

Zwraca rozmiar urządzenia w sektorach. Parametr funkcji ioctl(2) powinien być wskaźnikiem do zmiennej typu long.
Wymusza ponowny odczyt tablicy partycji dysku SCSI. Nie są wymagane żadne parametry.

ioctle dla scsi(4) są również obsługiwane. Jeśli wymagany jest parametr funkcji ioctl(2) i ma on wartość NULL, wówczas ioctl() zwróci wartość -EINVAL.

PLIKI

/dev/sd[a-h]: całe urządzenie
/dev/sd[a-h][0-8]: poszczególne partycje blokowe

ZOBACZ TAKŻE

scsi(4)

1992-12-17