[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