[pso] [TEMA 3][Linux] dispozitiv logic

Razvan Deaconescu razvan.deaconescu at cs.pub.ro
Sat Apr 18 14:48:43 EEST 2009


On Sat, 2009-04-18 at 13:53 +0300, Faur Andrei wrote:
> In enuntul temei ni se solicita implementarea unei operatii ioctl
> prin care se face sincronizarea informatiilor scrise/citite de pe
> dispozitivul logic, cu cele de pe dispozitivele fizice. Nu inteleg
> exact despre care informatii este vorba. Trebuie mentinuta si in
> dispozitivul virtual o imagine a datelor de pe hard?

Nu.

> Sau este vorba
> doar de o simpla asteptare de terminare a requesturilor catre
> dispozitivele fizice existente in acel moment (asteptare care este
> facuta folosind operatiile sync_blockdev si invalidate_bdev)?

Da.

> Ma
> induce in eroare si faptul ca dispozitivul logic trebuie sa aiba o
> anumita capacitate (LOG_DSK_SECTORS) pe care nu inteleg cum
> o vom folosi.

Vei completa campul capacity din structura gendisk[1] (folosind
set_capacity) pentru a marca cererile care sunt mai mari de
LOG_DSK_SECTORS ca fiind invalide (beyond end of device). Daca nu ai
folosi acest camp atunci ai trimite cereri si pentru sectorul
500000..000, sector care nu exista fizic.

LOG_DSK_SIZE (95MB) este ceva mai mic decat spatiul ocupat de fiecare
din discurile fizice (aproximativ 100MB) din motive de siguranta si
pentru a oferi spatiu pentru CRC-uri.

Razvan

[1] http://cs.pub.ro/~pso/index.php?section=Laboratoare&file=08.%20Device%20drivere%20de%20tip%20bloc.%20Subsistemul%20de%20IO#Structura_gendisk



More information about the pso mailing list