Hi Chandan,
On Thu, Sep 29, 2005 at 05:34:38PM -0400, Chandan Talukdar wrote:
> Hello,
>
> I want to contribute towards the above mentioned proposed enhancement to
> XFS. Could anyone tell me how to go about the process.
>
> Thanks,
>
> ps: I have prior file system development experience.
>
From a very high level, there are two possible angles of attack
for this problem.
The first way would be to allow the PAGE_CACHE_SIZE to be increased,
which then reduces the problem to ensuring the increased page size
covers all interesting blocksizes (the core XFS code, & XFS on IRIX,
allows blocksizes in powers of 2 between 512 bytes to 64 kilobytes
currently).
The second would be to deal with multiple page cache pages spanning
a single block, and to audit all uses of (struct inode)->i_blkbits
through the VFS and XFS, and also change the VM to ensure we can't
get into deadlocks in the filesystem (we'd need to hold multiple
contiguous-within-an-address_space pages locked simultaneously in
this model, I think).
There was some discussion a long time back on the linux-fsdevel
list about this, so check those archives. The NTFS folks have had
to do something to try address this problem, I'm not sure where
they ended up with that though.
Last time I discussed this with Christoph (a long time back now),
I think he favoured the first approach above. I suspect the NTFS
guys went for something more like the second approach to resolve
their issues, but I don't know for sure what they did in the end.
Good luck!
cheers.
--
Nathan
|