Messages in this thread Patch in this message |  | | From | Hans Reiser <> | Subject | [BK] ReiserFS PATCH resend (preallocation the default) | Date | Fri, 6 Sep 2002 15:53:55 +0400 (MSD) |
| |
Hello!
This changeset enables preallocation of blocks on reiserfs filesystems by default. Without this, SMP boxes seems to have speed problems on some workloads. You can get it from bk://thebsh.namesys.com/bk/reiser3-linux-2.4
Diffstat: fs/reiserfs/bitmap.c | 3 +-- fs/reiserfs/super.c | 4 ++++ include/linux/reiserfs_fs.h | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-)
Plain text patch: # This is a BitKeeper generated patch for the following project: # Project Name: Linux kernel tree # This patch format is intended for GNU patch command version 2.5 or higher. # This patch includes the following deltas: # ChangeSet 1.587 -> 1.588 # include/linux/reiserfs_fs.h 1.21 -> 1.22 # fs/reiserfs/super.c 1.21 -> 1.22 # fs/reiserfs/bitmap.c 1.15 -> 1.16 # # The following is the BitKeeper ChangeSet Log # -------------------------------------------- # 02/08/20 green@angband.namesys.com 1.588 # Turn on blocks preallocation by default for reiserfs. # -------------------------------------------- # diff -Nru a/fs/reiserfs/bitmap.c b/fs/reiserfs/bitmap.c --- a/fs/reiserfs/bitmap.c Tue Aug 20 13:43:25 2002 +++ b/fs/reiserfs/bitmap.c Tue Aug 20 13:43:25 2002 @@ -15,7 +15,7 @@ #include <linux/reiserfs_fs_sb.h> #include <linux/reiserfs_fs_i.h> -#define PREALLOCATION_SIZE 8 +#define PREALLOCATION_SIZE 9 #define INODE_INFO(inode) (&(inode)->u.reiserfs_i) @@ -397,7 +397,6 @@ { char * this_char, * value; - s->u.reiserfs_sb.s_alloc_options.preallocmin = 4; s->u.reiserfs_sb.s_alloc_options.bits = 0; /* clear default settings */ for (this_char = strtok (options, ":"); this_char != NULL; this_char = strtok (NULL, ":")) { diff -Nru a/fs/reiserfs/super.c b/fs/reiserfs/super.c --- a/fs/reiserfs/super.c Tue Aug 20 13:43:25 2002 +++ b/fs/reiserfs/super.c Tue Aug 20 13:43:25 2002 @@ -1117,6 +1117,10 @@ s->u.reiserfs_sb.s_mount_opt = ( 1 << REISERFS_SMALLTAIL ); /* default block allocator option: skip_busy */ s->u.reiserfs_sb.s_alloc_options.bits = ( 1 << 5); + /* If file grew past 4 blocks, start preallocation blocks for it. */ + s->u.reiserfs_sb.s_alloc_options.preallocmin = 4; + /* Preallocate by 8 blocks (9-1) at once */ + s->u.reiserfs_sb.s_alloc_options.preallocsize = 9; if (reiserfs_parse_options (s, (char *) data, &(s->u.reiserfs_sb.s_mount_opt), &blocks) == 0) { return NULL; diff -Nru a/include/linux/reiserfs_fs.h b/include/linux/reiserfs_fs.h --- a/include/linux/reiserfs_fs.h Tue Aug 20 13:43:25 2002 +++ b/include/linux/reiserfs_fs.h Tue Aug 20 13:43:25 2002 @@ -56,7 +56,7 @@ #define REISERFS_PREALLOCATE #define DISPLACE_NEW_PACKING_LOCALITIES -#define PREALLOCATION_SIZE 8 +#define PREALLOCATION_SIZE 9 /* n must be power of 2 */ #define _ROUND_UP(x,n) (((x)+(n)-1u) & ~((n)-1u))
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|  |