[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