[so2] [Tema 4] free blocks, free inodes

Oana Stroie mail.oana.stroie at gmail.com
Fri Apr 29 14:08:30 EEST 2016


Momentan e ok, am diferente la free blocks (dar arata ok 3734 = 3752). Caut
locul unde uit sa scad numarul de blocuri.

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).

Cum accesez noua dimensiune dorita a fisierului pt a ii face truncate
corect? [cred ca de aici este problema cu bfree]

Mersi,
Oana

2016-04-29 13:54 GMT+03:00 Razvan Deaconescu via so2 <so2 at cursuri.cs.pub.ro>
:

> Daniel Baluta via so2 <so2 at cursuri.cs.pub.ro> writes:
> > 2016-04-29 13:35 GMT+03:00 Oana Stroie via so2 <so2 at cursuri.cs.pub.ro>:
> >> 2016-04-29 12:23 GMT+03:00 Oana Stroie <mail.oana.stroie at gmail.com>:
> >>> 2016-04-29 11:17 GMT+03:00 Oana Stroie <mail.oana.stroie at gmail.com>:
> >>>> Buna ziua,
> >>>>
> >>>> Imi pica toate testele cu check free blocks si check free inodes cu o
> >>>> diferenta destul de mare intre valori (exemplu check free blocks --
> test
> >>>> 12643 = 4082). In plus, punand afisari in pitix_get_block ( parametru
> pus in
> >>>> readpage si writepage la apel block_read_full_page) nu pare ca
> aceasta ar fi
> >>>> apelata in rularea testelor.
> >>>>
> >>>> Precizez ca imi trec rmajoritatea din restul testelor (inclusiv cele
> de
> >>>> uid, gid, data, size, unlink, rmdir, mkdir) insa niciunul de free
> blocks si
> >>>> free inodes.
> >>>>
> >>>> In plus, testat de mana, functiile se comporta cum ar trebui (cat
> reusesc
> >>>> sa testez) ex mkdir urmat de rmdir, sau touch urmat de unlink
> modifica pe
> >>>> rand corespunzator ffree si bfree.
> >>>>
> >>>> Poate fi de la setattr (implementat si setat insa la fel nu e apelat)?
> >>>> Sau nu setez ceva corect?
> >>>> Cum pot fi read-urile (test check data) corecte si get_block sa nu fie
> >>>> apelat la testare?
> >>>
> >>> Update:
> >>> Cand testez de mana: stat -f /mnt/pitix (montat si functionabil cu
> >>> celelalte functii) primesc intr-adevar valorile default (block size
> 4096 si
> >>> restul valorilor 0), daca fac stat -f /dev/sdb (unde este montat)
> primesc
> >>> valorile (gresite) din teste (ex 14084, 12673 etc).
> >>>
> >>> Am setat .statfs si am implementat asemanator cu minix_statfs, insa la
> >>> rulare stat, pitix_statfs nu este apelata si nu imi dau seama de ce
> nu, ea
> >>> fiind setata in super_operations.
> >>>
> >>> Help?
> >>
> >> Update [again]
> >> Am rezolvat :)
> >>
> >> Din neatentie nu testam cu .statfs setat. Dupa setarea corespunzatoare,
> si
> >> copierea directorului _test pe qemu (testele ruleaza si daca nu gaseste)
> >> functioneaza corect.
> >
> > https://en.wikipedia.org/wiki/Rubber_duck_debugging
>
> Oana, să ne spui în ce stadiu ești acum cu tema, că e mai dificil să ne
> prindem, după ultimele mesaje :-), de ce probeme mai ai.
>
> Răzvan
> _______________________________________________
> http://ocw.cs.pub.ro/courses/so2/resurse/lista-discutii
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://cursuri.cs.pub.ro/pipermail/so2/attachments/20160429/a6b58e18/attachment-0001.html>


More information about the so2 mailing list