[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