[pso] numar de dentry-uri

Octavian Purdila tavi at cs.pub.ro
Sat May 12 13:14:19 EEST 2007


On Saturday 12 May 2007 12:53, Ghervase Gabriel wrote:
> Razvan Deaconescu <razvand at cs.pub.ro> wrote: Ghervase Gabriel wrote:
> > Salut.
> >
> > Imi poate spune cineva cum pot sti cate dentry-uri am intr-un bloc de
> > date? Ma lovesc de problema asta la mkdir.
> > Citesc blocul de date al directorului parinte cu sb_bread, si vreau sa
> > adaug un dentry la sfarsit.
> > Pentru asta am nevoie de indexul ultimului dentry din bloc.
> > Exista cumva vreo conventie de genul : dupa datele valide in blocul
> > respectiv avem numai 0, etc?
>
> o solutie este sa marchezi dentry-urile libere ca avand inode-ul 0; cand
> vrei sa creezi o intrare in director faci o cautare dupa dentry-urile
> din blocul de date si prima care contine inode-ul 0 este prima libera
>
> la fel, cand stergi o intrare din director vei pune inode-ul asociat pe
> 0; nu este cea mai eficienta solutie, intrucat trebuie sa faci cautare
> dupa primul inode care se afla pe 0, dar functioneaza ;-)
>
> Razvan
>
> Abordarea asta ar presupune ca incep cu o partitie goala.Adica sa
> initializez blocul root-inode-ului cu 0 in fill-super.Iar ulterior, sa
> procedez cum ai zis tu.
>
> Dar , la noi, in test_ro se porneste cu niste fisiere in imagine.
> Deci daca as face asa, as sterge fisierele existente in imagine.Ar trece
> testele din test_rw si ar pica cele din test_ro pentru ca as pierde
> informatie

Nu inteleg exact de ce spui ca s-ar pierde informatii... Dentry-urile valide 
au inod diferite de 0, cele invalide (nealocate) au un inod cu valoarea 0.
In imaginea existenta se respecta aceasta conditie.

tavi


More information about the pso mailing list