[so2] [Tema5] Intrebare pitix_truncate
Sergiu Weisz
sergiu121 at gmail.com
Sun Apr 19 16:13:27 EEST 2020
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
More information about the so2
mailing list