[pso] [tema3] Despre sb_bread

omar Chouydary chouydary at yahoo.com
Fri Apr 27 20:30:21 EEST 2007


Ok, o sa vad cu printk ce iese. Tot legat de superbloc , am cateva intrebari:
   
  struct pitix_super_block {
  unsigned long magic;
  __u8 version;
  __u8 inode_data_blocks;
  __u8 block_size_bits;
  __u8 imap_block;
  __u8 dmap_block;
  __u8 izone_block;
  __u8 dzone_block;
  __u16 bfree;
  __u16 ffree; 
  #ifdef __KERNEL__
  struct buffer_head *sb_bh, *dmap_bh, *imap_bh;
  __u8 *dmap, *imap;
  #endif
  };
   
   
  1. Este posibil ca "__KERNEL__" sa nu fie definit si sa nu accesam acele structuri de dupa, sau trebuie sa avem mereu grija sa fie definit si astfel sa ne folosim mereu de acele structuri?
   
  2. legat de sb_bh presupun ca este pointer catre un buffer_head legat de bloc-ul de pe disc al superbloc-ului. O mica problema este ca superbloc-ul are 4096 de bytes, iar dimensiunea unui bloc poate fi si de 512 bytes. In acest caz ce trebuie facut:
    a) consideram ca structura superbloc-ului nu are mai mult de 512 octeti si atunci ne  intereseaza strict doar primul bloc
   b) Citim cate blocuri sunt necesare in mai multe structuri buffer_head pt a citi tot super-bloc-ul in memorie si setam "struct buffer_head   *b_this_page" (din struct buffer_head) corespunzator
   c) o alta solutie
   
  3.  Pointerii  *dmap, *imap sunt pointeri catre campul "b_data" din dmap_bh respectiv imap_bh?
   
  Omar.

Lucian Adrian Grijincu <lucian.grijincu at gmail.com> wrote:
  Sa fii atent sa setezi blocksize-ul din la ceva valid (aka 512).
trimite la printk ce ai in bh->b_data (primii n bytes).

Daca nu vrei sa setezi blocksize-ul, foloseste direct __bread.

daca outputul corespunde cu ce iti da hexdump pe pitix.loop e bine cu
1. daca nu, incearca cu 0. I forgot what I used.


On 4/27/07, omar Chouydary wrote:
> Am vazut prin sursele sistemului minix ceva de genul:
> if (!(bh = sb_bread(s, 1)))
> pentru a citi de pe disc superbloc-ul. Se pare ca se transmite ca parametru
> "block" nr.1.
> In tema super bloc-ul este primul bloc, deci noi ar trebui sa trimitem
> bloc-ul 0 nu? Sau se considera primul bloc ca fiind numerotat de la 1?
>
> Inca ceva... as vrea si un raspuns la posturile de ieri in legatura cu Imap
> si hash .
>
> Thx,
> Omar.
>
>
> ________________________________
> Ahhh...imagining that irresistible "new car" smell?
> Check out new cars at Yahoo! Autos.
>
>
> _______________________________________________
> pso mailing list
> pso at cursuri.cs.pub.ro
> http://cursuri.cs.pub.ro/cgi-bin/mailman/listinfo/pso
>
>
_______________________________________________
pso mailing list
pso at cursuri.cs.pub.ro
http://cursuri.cs.pub.ro/cgi-bin/mailman/listinfo/pso


       
---------------------------------
Ahhh...imagining that irresistible "new car" smell?
 Check outnew cars at Yahoo! Autos.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://cursuri.cs.pub.ro/pipermail/pso/attachments/20070427/c2b0f5ca/attachment.html


More information about the pso mailing list