> 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
------------------------------------------------------------
-------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and
take
control of your XML. No limits. Just data. Click to get it
now.
http://sourcefor
ge.net/powerbar/db2/
_______________________________________________
fuse-devel mailing list
fuse-devel lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/fuse-devel
a>
|