[so2] [Tema4] Truncate
Cristian Chilipirea
cristian.chilipirea at cti.pub.ro
Tue May 1 17:12:50 EEST 2012
On Tue, May 1, 2012 at 5:07 PM, Razvan Deaconescu <
razvan.deaconescu at cs.pub.ro> wrote:
> Cristian Chilipirea <cristian.chilipirea at cti.pub.ro> writes:
> > Problema:
> >
> > Cand?
> > echo dummy \\> /tmp/pitix.mnt/lots_of_files/file0
> >
> > Ce se intampla?
> > Se apeleaza functiile de address_space_operations in loc de truncate.
> > Se ajunge in pitix_get_block cu inode->i_size == 0 si create == 1
> >
> > Nu se intra niciodata in truncate.
>
> Să înțeleg că dimensiunea fișierului nu ajunge la 6? Și nici conținutul
> său nu este "dummy\n"?
>
Scrierea se face ok, problema e ca in loc sa ajunga la 6 ajunge la 512.
get_block lucreaza cu blocuri asa ca ii aloc un bloc nou si il las sa faca
ce vrea cu el.
Problema si mai amre e ca nu se apeleaza nici o functie care sa stearga
blocul vechi. (cum ar fi truncate).
In caz ca ajuta address_space_operations ale mele sunt:
.write_end = generic_write_end,
.sync_page = block_sync_page,
.readpage = pitix_readpage,
.writepage = pitix_writepage,
.write_begin = pitix_write_begin,
.bmap = pitix_bmap,
Si toate apeleaza "pitix_get_block" care face alocare daca e create == 1
>
> Răzvan
>
_______________________________________________
> http://elf.cs.pub.ro/so2/wiki/resurse/lista-discutii
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://cursuri.cs.pub.ro/pipermail/so2/attachments/20120501/7bce0623/attachment.htm>
More information about the so2
mailing list