[pso] [Tema4] [1]get_block() si [2]data_blocks al inodului directorului radacina

Marius Ion marius.ion85 at gmail.com
Tue Aug 26 12:52:38 EEST 2008


[1] Ce ar trebui sa faca mai exact   int get_block(struct inode *inode,
sector_t block, struct buffer_head *bh_result, int create); ?
Din ce am reusit sa descifrez din sursele fs minix, primeste ca parametri un
inod si numarul blocului din fisier si ar trebui sa mapeze in bh blocul
respectiv de pe disc. Iar atunci cand este setat flagul create, trebuie sa
caute un bloc liber pe disc pe care sa il mapeze si sa updateze lista de
blocuri din inod (data_blocks[]). Asa este ?

[2] Si inca o chestie referitoare la vectorul data_blocks... In enunt scrie
ca "intrările nefolosite trebuie setate pe 0 (adică dacă avem un fişier cu
dimensiune 2050 şi dimensiunea blocului de 1024 atunci vom avea primele trei
valori din vector strict pozitive şi restul 0)", dar pe de alta parte
"Directorul rădăcină va avea alocat inode-ul 0 şi blocul de date 0." Inodul
directorului radacina inseamna ca va avea doar zerouri in data_blocks[]. Cum
fac diferenta intre acesta si inodul unui fisier care nu contine date ?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://cursuri.cs.pub.ro/pipermail/pso/attachments/20080826/56695dc5/attachment.htm 


More information about the pso mailing list