From: Miklos S. <mi...@sz...> - 2007-06-26 19:08:08
|
> the current fuse kernel module, in the function fuse_change_attributes, > the inode->i_blksize is currently hardcoded to PAGE_CACHE_SIZE. applications > like `cp' refer this value from fstat() (as st_blksize) on the file and use > that as the block size to do transfers. I feel this value should be > configurable by the filesystem, with an uppler limit check upto the channel > size and a lower limit check to PAGE_CACHE_SIZE. Probably makes sense, yes. > the attached diff does the same. it causes applications (like cp) itself > to work on larger chunks. this reduces the number of requests going upto the > filesystem and drastically improves performance with reduced context > switches. The patch is wrong, it won't even compile, since there's no st_blksize member in attr. And if HAVE_I_BLKSIZE is false (which is on all newer kernels) the patch will not do anything, which isn't what you want either. Thanks, Miklos |