<div dir="ltr">Again :))<div><br></div><div>Mai exact, cand sa aloc noi blocuri, ce este chemat la cp?</div><div>Minix face in get_block (cand create este setat) sau pot in set_attr ( cand noul size este diferit).</div><div>Probleme: </div><div>- get_block este apelat mai tarziu (am presupus ca se tine cont si de cache)</div><div>- set_attr pune in attr->ia_size, insa nu reusesc sa lucrez cu ea (poate de la tipul loff_t pe care il are). daca fac conversie la int da mereu 0. cum iau size-ul corect?</div></div><div class="gmail_extra"><br><div class="gmail_quote">2016-04-29 14:08 GMT+03:00 Oana Stroie <span dir="ltr"><<a href="mailto:mail.oana.stroie@gmail.com" target="_blank">mail.oana.stroie@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Momentan e ok, am diferente la free blocks (dar arata ok 3734 = 3752). Caut locul unde uit sa scad numarul de blocuri. <div><br><div>Nu inteleg de unde pot lua noua dimensiune la care sa trunchez un fisier. Mai exact, setattr imi este apelat (fie daca scriu intr-un fisier, fie la cp din teste) si eu apelez pitix_truncate (care aloca sau dealoca blocuri in fc de i_size). Doar ca spre deosebire de truncate (din fs unde spunea ca i_size va avea noua dimensiune), setattr nu imi seteaza i_size (il lasa cum era).</div><div><br></div><div>Cum accesez noua dimensiune dorita a fisierului pt a ii face truncate corect? [cred ca de aici este problema cu bfree]</div></div><div><br></div><div>Mersi,</div><div>Oana</div></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">2016-04-29 13:54 GMT+03:00 Razvan Deaconescu via so2 <span dir="ltr"><<a href="mailto:so2@cursuri.cs.pub.ro" target="_blank">so2@cursuri.cs.pub.ro</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span>Daniel Baluta via so2 <<a href="mailto:so2@cursuri.cs.pub.ro" target="_blank">so2@cursuri.cs.pub.ro</a>> writes:<br>
> 2016-04-29 13:35 GMT+03:00 Oana Stroie via so2 <<a href="mailto:so2@cursuri.cs.pub.ro" target="_blank">so2@cursuri.cs.pub.ro</a>>:<br>
</span><span>>> 2016-04-29 12:23 GMT+03:00 Oana Stroie <<a href="mailto:mail.oana.stroie@gmail.com" target="_blank">mail.oana.stroie@gmail.com</a>>:<br>
</span><div><div>>>> 2016-04-29 11:17 GMT+03:00 Oana Stroie <<a href="mailto:mail.oana.stroie@gmail.com" target="_blank">mail.oana.stroie@gmail.com</a>>:<br>
>>>> Buna ziua,<br>
>>>><br>
>>>> Imi pica toate testele cu check free blocks si check free inodes cu o<br>
>>>> diferenta destul de mare intre valori (exemplu check free blocks -- test<br>
>>>> 12643 = 4082). In plus, punand afisari in pitix_get_block ( parametru pus in<br>
>>>> readpage si writepage la apel block_read_full_page) nu pare ca aceasta ar fi<br>
>>>> apelata in rularea testelor.<br>
>>>><br>
>>>> Precizez ca imi trec rmajoritatea din restul testelor (inclusiv cele de<br>
>>>> uid, gid, data, size, unlink, rmdir, mkdir) insa niciunul de free blocks si<br>
>>>> free inodes.<br>
>>>><br>
>>>> In plus, testat de mana, functiile se comporta cum ar trebui (cat reusesc<br>
>>>> sa testez) ex mkdir urmat de rmdir, sau touch urmat de unlink modifica pe<br>
>>>> rand corespunzator ffree si bfree.<br>
>>>><br>
>>>> Poate fi de la setattr (implementat si setat insa la fel nu e apelat)?<br>
>>>> Sau nu setez ceva corect?<br>
>>>> Cum pot fi read-urile (test check data) corecte si get_block sa nu fie<br>
>>>> apelat la testare?<br>
>>><br>
>>> Update:<br>
>>> Cand testez de mana: stat -f /mnt/pitix (montat si functionabil cu<br>
>>> celelalte functii) primesc intr-adevar valorile default (block size 4096 si<br>
>>> restul valorilor 0), daca fac stat -f /dev/sdb (unde este montat) primesc<br>
>>> valorile (gresite) din teste (ex 14084, 12673 etc).<br>
>>><br>
>>> Am setat .statfs si am implementat asemanator cu minix_statfs, insa la<br>
>>> rulare stat, pitix_statfs nu este apelata si nu imi dau seama de ce nu, ea<br>
>>> fiind setata in super_operations.<br>
>>><br>
>>> Help?<br>
>><br>
</div></div><span>>> Update [again]<br>
>> Am rezolvat :)<br>
>><br>
>> Din neatentie nu testam cu .statfs setat. Dupa setarea corespunzatoare, si<br>
>> copierea directorului _test pe qemu (testele ruleaza si daca nu gaseste)<br>
>> functioneaza corect.<br>
><br>
</span>> <a href="https://en.wikipedia.org/wiki/Rubber_duck_debugging" rel="noreferrer" target="_blank">https://en.wikipedia.org/wiki/Rubber_duck_debugging</a><br>
<br>
Oana, să ne spui în ce stadiu ești acum cu tema, că e mai dificil să ne<br>
prindem, după ultimele mesaje :-), de ce probeme mai ai.<br>
<br>
Răzvan<br>
_______________________________________________<br>
<a href="http://ocw.cs.pub.ro/courses/so2/resurse/lista-discutii" rel="noreferrer" target="_blank">http://ocw.cs.pub.ro/courses/so2/resurse/lista-discutii</a></blockquote></div><br></div>
</div></div></blockquote></div><br></div>