* [2.6.26 patch] fuse: fix thinko in max I/O size calucation
@ 2008-06-17 16:05 Miklos Szeredi
2008-06-17 16:59 ` Szabolcs Szakacsits
0 siblings, 1 reply; 3+ messages in thread
From: Miklos Szeredi @ 2008-06-17 16:05 UTC (permalink / raw)
To: torvalds; +Cc: akpm, linux-kernel, linux-fsdevel, ywang221, szaka
From: Miklos Szeredi <mszeredi@suse.cz>
Use max not min to enforce a lower limit on the max I/O size.
This bug was introduced by
commit e5d9a0df07484d6d191756878c974e4307fb24ce
Author: Miklos Szeredi <mszeredi@suse.cz>
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@hotmail.com>
CC: Szabolcs Szakacsits <szaka@ntfs-3g.org>
Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
---
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;
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [2.6.26 patch] fuse: fix thinko in max I/O size calucation
2008-06-17 16:05 [2.6.26 patch] fuse: fix thinko in max I/O size calucation Miklos Szeredi
@ 2008-06-17 16:59 ` Szabolcs Szakacsits
2008-06-17 17:02 ` Miklos Szeredi
0 siblings, 1 reply; 3+ messages in thread
From: Szabolcs Szakacsits @ 2008-06-17 16:59 UTC (permalink / raw)
To: Miklos Szeredi; +Cc: torvalds, akpm, linux-kernel, linux-fsdevel, ywang221
On Tue, 17 Jun 2008, Miklos Szeredi wrote:
> From: Miklos Szeredi <mszeredi@suse.cz>
>
> 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@ntfs-3g.org>
Szaka
> This bug was introduced by
>
> commit e5d9a0df07484d6d191756878c974e4307fb24ce
> Author: Miklos Szeredi <mszeredi@suse.cz>
> 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@hotmail.com>
> CC: Szabolcs Szakacsits <szaka@ntfs-3g.org>
> Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
> ---
> 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
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [2.6.26 patch] fuse: fix thinko in max I/O size calucation
2008-06-17 16:59 ` Szabolcs Szakacsits
@ 2008-06-17 17:02 ` Miklos Szeredi
0 siblings, 0 replies; 3+ messages in thread
From: Miklos Szeredi @ 2008-06-17 17:02 UTC (permalink / raw)
To: szaka; +Cc: miklos, torvalds, akpm, linux-kernel, linux-fsdevel, ywang221
> > From: Miklos Szeredi <mszeredi@suse.cz>
> >
> > 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?
Yes, that's due to another limit (max 32 pages per request).
Miklos
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2008-06-17 17:44 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-06-17 16:05 [2.6.26 patch] fuse: fix thinko in max I/O size calucation Miklos Szeredi
2008-06-17 16:59 ` Szabolcs Szakacsits
2008-06-17 17:02 ` Miklos Szeredi
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®