table of contents
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:
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.
- BLKGETSIZE
- Zwraca rozmiar urządzenia w sektorach. Parametr funkcji ioctl(2) powinien być wskaźnikiem do zmiennej typu long.
- BLKRRPART
- 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 |