[pso] [Tema 3] Operația ioctl de sync
Razvan Deaconescu
razvan.deaconescu at cs.pub.ro
Sun Apr 24 16:57:43 EEST 2011
2011/4/24 Andrada Georgescu <andradaq at gmail.com>:
> Salut!
>
> Postez soluția la o problemă care mi-a luat ceva timp să o rezolv.
>
> Îmi picau un număr variabil de teste de la recovery iar problema s-a
> dovedit a fi funcția de sync greșită, în care nu făceam sync și
> invalidate și pentru dispozitivele fizice, ci doar pentru cel primit
> ca parametru (nu am fost atentă la implementarea testerului și am avut
> impresia că se ocupă el de sincronizarea lor).
Cred că funcția aceasta de sincronizare dă bătăi de cap constant. O să
o înlocuim/refactorizăm anul viitor. Postez aici snippet-ul recomandat
pentru implementarea acestei funcții; sper să reducă din consumul de
timp alocat temei pe aspecte punctuale.
---
switch (cmd) {
case SSR_IOCTL_SYNC:
sync_blockdev(bdev);
sync_blockdev(ssr_dev.backing_devs[0]);
sync_blockdev(ssr_dev.backing_devs[1]);
invalidate_bdev(bdev);
invalidate_bdev(ssr_dev.backing_devs[0]);
invalidate_bdev(ssr_dev.backing_devs[1]);
break;
---
Răzvan
More information about the pso
mailing list