[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