[so2] [Tema5] Intrebare pitix_truncate

Alexandru Meterez alexandrumeterez at gmail.com
Sun Apr 19 16:52:44 EEST 2020


Pai si in laborator si in minix_setattr se face truncate_setsize(inode,
attr->ia_size), care din cate inteleg face inode->i_size = attr->ia_size pe
fundal. Una din probleme este ca mereu am attr->ia_size egal cu 0. Am pus
printuri, codul este copy paste cel din labul de filesystems 2.
Alta nelamurire este ca nu inteleg de unde am acces in pitix_truncate la
dimensiunea veche. Adica am acces la dimensiunea noua, dar cum o iau si pe
cea veche ca sa pot sa le compar sa vad daca trebuie sa aloc/sterg blocuri?
Imi e neclar.

On Sun, 19 Apr 2020 at 16:13, Sergiu Weisz via so2 <so2 at cursuri.cs.pub.ro>
wrote:

> On 19.04.2020 15:52, Alexandru Meterez via so2 wrote:
> > Salutare.
> > Nu inteleg daca pitix_truncate merge ca truncate-ul din userspace.
> >
> > Adica in pitix_setattr, care eu inteleg ca se apeleaza mereu cand se
> schimba
> > ceva legat de inode(dimensiune, drepturi etc), daca modific size-ul,
> trebuie sa
> > intre pe pitix_truncate. In pitix_truncate, in functie de attr->ia_size,
> trebuie
> > sa ma uit daca noul size e mai mare sau mai mic fata de cel vechi si sa
> aloc mai
> > multe blocuri, respectiv sterg blocuri.
> >
> > Nu stiu daca fac eu ceva fundamental gresit, dar la mine attr->ia_size e
> vesnic
> > 0. Am pus printuri si nu se schimba nimic cand scriu/sterg ceva dintr-un
> fisier.
> > Putin ajutor va rog?
>
> Salutare,
>
> Ai inteles corect ce face truncate.
>
> Dimensiunea noua o determini in functie de numarul de blocuri pe care le
> are
> inode-ul, nu din attr->ia_size.
>
> Poti sa vezi o implementare referinta aici [1].
>
> [1]
> https://elixir.bootlin.com/linux/latest/source/fs/minix/itree_common.c#L294
>
> Sergiu
> _______________________________________________
> 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/20200419/b7103f16/attachment.html>


More information about the so2 mailing list