[pso] [Tema3][Linux] Intrebare bio

Macicas Teodor teodor.macicas at cti.pub.ro
Fri May 7 17:23:19 EEST 2010


Mersi inca o data pentru raspunsuri.

Asadar, dupa ce fac submit la primul bio (cel read) in functia data de 
bio->bi_end_io va trebui sa-mi construiesc alt bio write si sa-i fac 
submit ? Sau acest lucru se intampla la nivelul superior in kernel ?

Atunci cand fac bio_clone() nu se aloca o pagina noua ? Altfel, cum se 
face acest lucru ?

Teodor

Razvan Deaconescu wrote:
> On Fri, 2010-05-07 at 13:07 +0300, Macicas Teodor wrote:
>   
>> Multumesc pentru raspuns, Razvan.
>> Acu folosesc workqueues pentru submitarea unui bio dintr-un kernel
>> thread. Precizez ca vrea sa fac functional doar un write simple test.
>>
>> In functia unde primesc un bio si-l clonez, campul bio->bi_rw este 0 (
>> READ ) desi in test eu fac write. De ce se intampla asta ?
>>     
>
> Orice write este precedat de un read. Daca vrei sa scrii un singur
> octet, trebuie citit intreg sectorul/blocul aferent (bio de citire),
> scris acel octet la adresa corespunzatoare si apoi scris sectorul/blocul
> (bio de scriere).
>
>   
>> Mai mult, daca fac submit din kernel thread la bio-ul clonat, primesc un
>> kernel oops [0000] din procesul events/0 .
>>     
>
> Din cate stiu trebuie sa aloci o pagina noua pentru bio-ul clonat.
>
> Razvan
>   





More information about the pso mailing list