Re: [2.6.26 patch] fuse: fix thinko in max I/O size calucation

From: Szabolcs Szakacsits
Date: Tue Jun 17 2008 - 13:44:18 EST



On Tue, 17 Jun 2008, Miklos Szeredi wrote:

> From: Miklos Szeredi <mszeredi@xxxxxxx>
>
> Use max not min to enforce a lower limit on the max I/O size.

Big write is ok now, thanks. NTFS-3G in-memory write performance seems to
be 6x better on a T9300 and quick tests seem to show that it's at least as
fast as ext3 in-memory writes (but this needs more testing, etc).

However the max write size seems to be limited to 128kB. Is this
intentional? If yes then

Acked-by: Szabolcs Szakacsits <szaka@xxxxxxxxxxx>

Szaka

> This bug was introduced by
>
> commit e5d9a0df07484d6d191756878c974e4307fb24ce
> Author: Miklos Szeredi <mszeredi@xxxxxxx>
> Date: Wed Apr 30 00:54:44 2008 -0700
>
> fuse: fix max i/o size calculation
>
> Thanks to Brian Wang for noticing.
>
> Reported-by: Brian Wang <ywang221@xxxxxxxxxxx>
> CC: Szabolcs Szakacsits <szaka@xxxxxxxxxxx>
> Signed-off-by: Miklos Szeredi <mszeredi@xxxxxxx>
> ---
> fs/fuse/inode.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> Index: linux-2.6/fs/fuse/inode.c
> ===================================================================
> --- linux-2.6.orig/fs/fuse/inode.c 2008-06-17 17:55:38.000000000 +0200
> +++ linux-2.6/fs/fuse/inode.c 2008-06-17 17:55:48.000000000 +0200
> @@ -591,7 +591,7 @@ static void process_init_reply(struct fu
> fc->bdi.ra_pages = min(fc->bdi.ra_pages, ra_pages);
> fc->minor = arg->minor;
> fc->max_write = arg->minor < 5 ? 4096 : arg->max_write;
> - fc->max_write = min_t(unsigned, 4096, fc->max_write);
> + fc->max_write = max_t(unsigned, 4096, fc->max_write);
> fc->conn_init = 1;
> }
> fuse_put_request(fc, req);
> @@ -667,7 +667,7 @@ static int fuse_fill_super(struct super_
> fc->flags = d.flags;
> fc->user_id = d.user_id;
> fc->group_id = d.group_id;
> - fc->max_read = min_t(unsigned, 4096, d.max_read);
> + fc->max_read = max_t(unsigned, 4096, d.max_read);
>
> /* Used by get_root_inode() */
> sb->s_fs_info = fc;
>

--
NTFS-3G: http://ntfs-3g.org

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/