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

Radu Ciobanu crusher2007 at gmail.com
Mon May 10 17:42:51 EEST 2010


Salut,

Din ce stiu eu, operatia ioctl din sturct block_device_operations arata asa:

int logical_device_ioctl(struct block_device *bdev, fmode_t mode, unsigned
cmd, unsigned long arg),

deci ai acolo un pointer la struct block_device. Eu am facut flush pentru
acel parametru, care ii corespunde device-ului logic. Sper sa nu gresesc.

Radu

2010/5/10 Eugen <pupicutz2000 at gmail.com>

> Razvan Deaconescu wrote:
>
>> 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, doar ce am scris mai sus ca cele doua functii se aplica numai pe un
> struct block_device, dispozitivul meu virtual este deschis cu
> register_blkdev , care nu are nici o structura block_device pe care sa pot
> sa apelez cele doua functii.
>
> Sugestii ?
>
>  Razvan
>>
>> _______________________________________________
>> http://elf.cs.pub.ro/so2/wiki/resurse/lista-discutii
>>
>
> _______________________________________________
> http://elf.cs.pub.ro/so2/wiki/resurse/lista-discutii
>



-- 
Radu Ciobanu
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://cursuri.cs.pub.ro/lurker/list/pso.html/attachments/20100510/e850f7a0/attachment-0001.htm>


More information about the pso mailing list