[pso] [Tema4][linux] Interebari structura filesystem

Alexandru Juncu alexandru.juncu at cs.pub.ro
Sun Apr 24 21:16:22 EEST 2011


2011/4/24 Claudiu Mihail <claudiu.bogdan.mihail at gmail.com>:
> Salut,
> As avea cateva intrebari legate de structura sistemului de fisiere pitix. Ca
> sa fiu mai direct o sa le exprim punctual.
> 1) Superblock-ul are dimensiunea 4096 bytes. Celelalte block-uri cat au? Tot
> atat?

Superblock-ul _sigur_ are 4K. Mărimea restul blocurilor este dată de
câmpul block_size_bits din struct pitix_super_block.
Deci citești superblock-ul și vezi acolo cum trebuie să interpretezi
restul partiției. Noțiunea de block ar trebui să fie relativ la ce
informație este în sb (chiar dacă checker-ul s-ar putea să testeze
doar cu block-uri de 4K).

> 2) Legat de functiile definite in pitix.h, cam ce rol ar avea de exemplu
> static inline long get_blocks(struct super_block *sb)
> {
>          return 8*sb->s_blocksize;
> }
> Nu ma prind acel 8 de unde vine exact. Iar oarecum legat de 1) s_blocksize
> banuiesc ca il setez cu sb_set_blocksize in pitix_fill_super.

As far as I remember, e vorba despre mărimea blockurilor de date (vezi
desen). Folosește funcția doar dacă ai nevoie.

> Dar revenind la 1) ce valoare ar trebui sa aiba s_blocksize? In sursele
> Minix am vazut ca in minix_fill_super se foloseste constanta
> BLOCK_SIZE (=1024) pentru asta.

See 1)


> 3) In structura pitix_sb_info campul imap la ce se refera mai exact?
> Cam atat momentan. As incheia cu precizarea ca in pitix.h este o greseala
> (care citind prin arhivele mailing list-ului este de anul trecut) si
> anume ca pitix_alloc_block(struct super_block *sb); ar trebui sa
> returneze struct inode* si nu int.


Anul trecut era vorba despre pitix_alloc_inode(), care era într-adevăr
greșit. Pentru blocks, implementarea s-ar putea să fie ok cu int
pentru că ai nevoie de indexul în bitmap-ul unde ai alocat datele (de
menționat că unele funcții din fișierul header sunt mai mult niște
guide line-uri luate dintr-o temă mai veche, așa că folosiți .h-ul
când vă ajută, și nu-l lăsați să vă încurce).

--
Alex Juncu


More information about the pso mailing list