[pso] [tema3] dimensiune pitix_dir_entry
Octavian Purdila
tavi at cs.pub.ro
Sun Apr 29 14:36:34 EEST 2007
On Sunday 29 April 2007 13:17, omar Chouydary wrote:
> O problema asemanatoare cu cate inode-uri sunt pe superbloc este asta:
>
> Avand in vedere ca structura pitix_dir_entry are 20 de octeti, iar dimensiunea unui bloc este de 512, 1024, etc... inseamna ca intr-un bloc nu incape un numar fix de astfel de structuri.
> Atunci ce facem in cazul directoarelor:
>
> a) scriem in fiecare bloc de date (al inode-ului respectiv corespunzator directorului) cate structuri pitix_dir_entry incap, si daca urmatoarea nu incape in totalitate, o scriem de la inceput intr-un nou bloc de date
>
> b) scriem in fiecare bloc de date cate incap, si in plus scriem in ce a ramas ce putem dintr-o noua structura pitix_dir_entry astfel incat o structura s-ar putea imparti intre 2 blocuri consecutive de date
>
> Mi se pare mai usor de implementat varianta a, dar risipeste niste octeti la fiecare bloc de date.
> Daca trebuie aleasa varianta b, atunci de ce in pitix.h avem functia asta :
>
> static inline int pitix_dir_entries_per_block(struct super_block *sb)
> {
> return sb->s_blocksize/pitix_dir_entry_size(sb);
> }
>
> Nu ar fi trebuit sa intoarca un float pentru a sti exact cate structuri (cu tot cu virgula) incap astfel incat sa pot sa verific in ce bloc exact este o anumita structura?
>
Directoarele au asociate un _singur_ bloc de date, astfel incat nu exista problema pe care o descriu tu.
tavi
More information about the pso
mailing list