[so2] [Tema 3] CRC-uri

Razvan Deaconescu razvan.deaconescu at cs.pub.ro
Fri May 18 10:03:41 EEST 2018


Olaru Catalin <katalinolaru95 at gmail.com> writes:
> 2018-05-17 23:40 GMT+03:00 Razvan Deaconescu <razvan.deaconescu at cs.pub.ro>:
>> Olaru Catalin via so2 <so2 at cursuri.cs.pub.ro> writes:
>> > Salut,
>> >
>> > Am o problema cu crc-urile la tema. Nu inteleg exact de ce, dar imi dau
>> > toate crc-urile prost( imi trec toate testele dinainte de cele care
>> > verifica crc). Am modificat checkerul sa afiseze valorile mele pentru
>> > crc-uri si valorile referinta si pe testul 50 (se scrie un singur sector)
>> > obtin urmatoarele:
>> >
>> > 0 1908772206 1274742057
>> > 1 1145324612 1094795585
>> > 2 1145324612 1094795585
>> > 3 1145324612 1094795585
>> > 4 1145324612 1094795585
>> > 5 1145324612 1094795585
>> > 6 1145324612 1094795585
>> > 7 1145324612 1094795585
>> > 8 1145324612 1094795585
>> > 9 1145324612 1094795585
>> > 10 1145324612 1094795585
>> > 11 1145324612 1094795585
>> > 12 1145324612 1094795585
>> > 13 1145324612 1094795585
>> > 14 1145324612 1094795585
>> > 15 1145324612 1094795585
>> > (primul este numarul sectorului, urmatorul este crc-ul meu, al 3-lea e
>> > crc-ul din checker)
>> >
>> > Ca idee, ca sa calculez crc-urile, fac kmap_atomic bio_iovec(bio).bv_page
>> > pentru date, mai completez un bio la care adaug o pagina de
>> > KERNEL_SECTOR_SIZE, submit bio-ul, fac kmap_atomic pe pagina, dupa care
>> > incep sa parcurg datele cu pas de KERNEL_SECTOR_SIZE timp in care
>> calculez
>> > crc32-ul pe care il pun pe pozitia lui in pagina alocata pentru bio-ul de
>> > crc-uri. Dupa aceea, resubmit bio-ul pentru write. Fac ceva gresit?
>>
>> Scuze că nu am răspuns din timp, Cătălin. Am văzut pe vmchecker[1] că ai
>> rezolvat problema. Ce era problematic?
>
> Salut,
>
> Eram eu baiat destept si cand facem bio_add_page, la campul size faceam
> ceva de genul num_sectors/CRCS_IN_SECTOR * KERNEL_SECTOR_SIZE. Abia dupa
> mult debug mi-am dat seama ca prima impartire se evalueaza la 0 si se facea
> tot size-ul 0, de unde si comportamentul dubios.

Ouch! Hate when that happens. Ne bucurăm că ai rezolvat.

>> [1] https://vmchecker.cs.pub.ro/ui/#SO2

Răzvan


More information about the so2 mailing list