[pso] [tema3 linux]add_disk del_gendisk
belea adriana
belea_adriana at yahoo.com
Fri May 1 19:26:35 EEST 2009
Am inceput sa rezolv tema 3 la linux pe masina virtuala veche.
Cand sa o portez pe noua masina am avut o mare surpriza. Desi pe
prima masina a iesit, pe noua masina nu reusesc sa implementez
discul logic.
coada este implementata ca in laborator
//adaugare
ssr->gd = alloc_disk(1);
if(IS_ERR(ssr->gd)) {
ERRME("unable to allocate disk.");
goto err;
}
ssr->gd->major = SSR_MAJOR;
ssr->gd->first_minor = 0;
ssr->gd->fops = &ssr_ops;
ssr->gd->queue = ssr->queue;
ssr->gd->private_data = ssr;
snprintf(ssr->gd->disk_name, 32, LOG_DSK_NAME);
set_capacity(ssr->gd, LOG_DSK_SECTORS);
add_disk(ssr->gd);
........................
// aici dezaloc
if (ssr->gd){
del_gendisk(ssr->gd);
put_disk(ssr->gd);
}
Cand testez prima oara imi functioneaza fara probleme iar a doua oara crapa. Si crapa la add_disk.
De unde rezulta ca la prima rulare s-a facut prost del_gendisk.
Dupa o cautare pe google am vazut ca mai multa lume a avut
probleme cu functiile astea doua.
http://lkml.indiana.edu/hypermail/linux/kernel/0707.3/0188.html
More information about the pso
mailing list