[pso] [Tema5] Creare stuctura bio

Razvan Deaconescu razvand at cs.pub.ro
Sat Jun 9 22:24:26 EEST 2007


Quoting Costin Boldisor <costinb at rdslink.ro>:

> Salut,
>
> Am ajuns la faza in care imi doresc sa creez o structura bio pentru a
> scrie/citi
> pe/de pe sdb1 si sdb2.
> Nu am gasit nicaieri vreun exemplu in care se creeaza o structura bio
> (bio_alloc, bio_init) si se si populeaza cu datele dorite. Evident, daca
> atribui eu dupa
> ureche valori membrilor unui bio va rezulta un panic...
>
> Deci: se pot pune niste linkuri sau niste exemple in care chiar este folosit
> generic_make_request?

http://cs.pub.ro/~pso/lxr/source/drivers/md/md.c?v=linux-2.6.18#440

aici foloseste submit_bio care apeleaza in spate generic_make_request

> M-ar interesa:
>     - la un bio pentru request de write, unde (in struct bio) setez zona de
> memorie din care se va scrie pe device
>     - la un bio pentru read, unde setez zona de memorie in care se vor pune
> datele citite

trebuie sa aloci pagini (alloc_page) si sa o adaugi la bio (bio_add_page); in
acele pagini vei stoca informatia pentru bio

pentru citirea unei pagini de memorie a unui bio poti folosi __bio_kmap_atomic
si __bio_kubmap_atomic

informatii utile poti afla prin inspectia implementari de RAID1 din nucleu:
http://cs.pub.ro/~pso/lxr/source/drivers/md/raid1.c?v=linux-2.6.18

daca ai continuare probleme, nu ezita sa pui intrebari

Razvan


More information about the pso mailing list