tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: genfs_gop_write_rwmap



hi,

> Hi!
> 
> On Tue, Feb 10, 2009 at 05:23:53PM +0900, YAMAMOTO Takashi wrote:
> > can you explain why genfs_gop_write_rwmap is necessary?
> > thanks.
> 
> I think i've explained it earlier on the list but its to accomodate updating
> the buffers i get passed by genfs in UDF. This may sound silly, but the UDF
> file system needs its descriptors (like inode structures and dirents) to be
> tailored explicitly to the sector written.
> 
> What happends is that when it modifies a directory entry it needs to be
> written back to disc but that block will be written at a different location.
> Even every UDF `dirent' has its logical block number written in it together
> with a crc. So if blocks are moved around, their lba change and i need to
> update it in the structure and recalculate the crc.  In theory i could copy
> all the blocks but that would double the amount of dirty directory data and i
> dont think thats a good idea either.
> 
> I could try to work around it another way, but i dont think it'll be prettier.
> 
> With regards,
> Reinoud

thanks for explanation.  (again?  sorry, i don't remember.)

it's for udf directories, not for regular files.
your VOP_STRATEGY can modify a buffer (memory pointed by bp->b_data)
even when !B_READ.
right?

YAMAMOTO Takashi


Home | Main Index | Thread Index | Old Index