diff -pruN fuse-2.7.0/kernel/fuse_i.h fuse-2.7.0-glfs1/kernel/fuse_i.h --- fuse-2.7.0/kernel/fuse_i.h 2007-07-02 04:32:15.000000000 -0700 +++ fuse-2.7.0-glfs1/kernel/fuse_i.h 2007-07-19 01:43:53.000000000 -0700 @@ -96,7 +96,7 @@ #endif /** Max number of pages that can be used in a single read request */ -#define FUSE_MAX_PAGES_PER_REQ 32 +#define FUSE_MAX_PAGES_PER_REQ 256 /** Maximum number of outstanding background requests */ #define FUSE_MAX_BACKGROUND 10 diff -pruN fuse-2.7.0/kernel/inode.c fuse-2.7.0-glfs1/kernel/inode.c --- fuse-2.7.0/kernel/inode.c 2007-07-02 04:32:15.000000000 -0700 +++ fuse-2.7.0-glfs1/kernel/inode.c 2007-07-19 01:43:20.000000000 -0700 @@ -140,7 +140,7 @@ void fuse_change_attributes(struct inode i_size_write(inode, attr->size); spin_unlock(&fc->lock); #ifdef HAVE_I_BLKSIZE - inode->i_blksize = PAGE_CACHE_SIZE; + inode->i_blksize = 1048576; #endif inode->i_blocks = attr->blocks; inode->i_atime.tv_sec = attr->atime; @@ -344,7 +344,7 @@ static int parse_fuse_opt(char *opt, str char *p; memset(d, 0, sizeof(struct fuse_mount_data)); d->max_read = ~0; - d->blksize = 512; + d->blksize = 1048576; /* * For unprivileged mounts use current uid/gid. Still allow @@ -474,7 +474,7 @@ static struct fuse_conn *new_conn(void) INIT_LIST_HEAD(&fc->io); INIT_LIST_HEAD(&fc->interrupts); atomic_set(&fc->num_waiting, 0); - fc->bdi.ra_pages = (VM_MAX_READAHEAD * 1024) / PAGE_CACHE_SIZE; + fc->bdi.ra_pages = 256; fc->bdi.unplug_io_fn = default_unplug_io_fn; fc->reqctr = 0; fc->blocked = 1; @@ -673,8 +673,8 @@ static int fuse_fill_super(struct super_ return -EINVAL; #endif } else { - sb->s_blocksize = PAGE_CACHE_SIZE; - sb->s_blocksize_bits = PAGE_CACHE_SHIFT; + sb->s_blocksize = 1048576; + sb->s_blocksize_bits = 20; } sb->s_magic = FUSE_SUPER_MAGIC; sb->s_op = &fuse_super_operations;