[pso] [Tema3][Linux] operatia de flush pe dispozitive

Razvan Deaconescu razvan.deaconescu at cs.pub.ro
Mon May 10 17:31:01 EEST 2010


On Mon, 2010-05-10 at 17:14 +0300, Eugen wrote:
> Salut,
> "pentru sincronizarea informațiilor scrise/citite în cadrul discului 
> virtual cu discurile fizice (flushing), modulul va trebui să exporte o 
> operație tip ioctl (|SSR_IOCTL_SYNC|); acest lucru îl realizați cu 
> ajutorul operațiilor sync_blockdev 
> <http://lxr.free-electrons.com/source/fs/block_dev.c?v=2.6.31#L189> și 
> invalidate_bdev 
> <http://lxr.free-electrons.com/source/fs/buffer.c?v=2.6.31#L233> pe 
> dispozitivul virtual și pe dispozitivele fizice;"
> Pentru dispozitivele fizice apelam direct functiile, dar pentru cel 
> virtual cum procedam ? Functiile respective primesc un struct bdev ca 
> parametru, iar noi avem de facut flush pe un dispozitiv virtual.

Apelati cele doua functii atat pentru dispozitivul virtual cat si pentru
dispozitivele fizice. Apelati intai sync_blockdev (pentru flush-ul
bufferelor care trebuie scrise) si apoi invalidate_bdev (pentru
invalidarea bufferelor citite).

Razvan



More information about the pso mailing list