]> git.karo-electronics.de Git - mv-sheeva.git/commitdiff
ext3: remove deprecated oldalloc
authorLukas Czerner <lczerner@redhat.com>
Tue, 16 Aug 2011 16:08:06 +0000 (18:08 +0200)
committerJan Kara <jack@suse.cz>
Wed, 17 Aug 2011 09:42:19 +0000 (11:42 +0200)
For a long time now orlov is the default block allocator in the ext3. It
performs better than the old one and no one seems to claim otherwise so
we can safely drop it and make oldalloc and orlov mount option
deprecated.

Signed-off-by: Lukas Czerner <lczerner@redhat.com>
Signed-off-by: Jan Kara <jack@suse.cz>
Documentation/filesystems/ext3.txt
fs/ext3/ialloc.c
fs/ext3/super.c
include/linux/ext3_fs.h

index 22f3a0eda1d22e430ebe350d7e952099b9a9e880..b100adc38adb9af3b03d831afa26f9318b3e2855 100644 (file)
@@ -73,14 +73,6 @@ nobarrier    (*)     This also requires an IO stack which can support
                        also be used to enable or disable barriers, for
                        consistency with other ext3 mount options.
 
-orlov          (*)     This enables the new Orlov block allocator. It is
-                       enabled by default.
-
-oldalloc               This disables the Orlov block allocator and enables
-                       the old block allocator.  Orlov should have better
-                       performance - we'd like to get some feedback if it's
-                       the contrary for you.
-
 user_xattr             Enables Extended User Attributes.  Additionally, you
                        need to have extended attribute support enabled in the
                        kernel configuration (CONFIG_EXT3_FS_XATTR).  See the
index bf09cbf938cc155c3328b6cc6d6a8a6f1bed637c..635bd8ce6d598252d0de6f1188754122e06c49b1 100644 (file)
@@ -177,42 +177,6 @@ error_return:
        ext3_std_error(sb, fatal);
 }
 
-/*
- * There are two policies for allocating an inode.  If the new inode is
- * a directory, then a forward search is made for a block group with both
- * free space and a low directory-to-inode ratio; if that fails, then of
- * the groups with above-average free space, that group with the fewest
- * directories already is chosen.
- *
- * For other inodes, search forward from the parent directory\'s block
- * group to find a free inode.
- */
-static int find_group_dir(struct super_block *sb, struct inode *parent)
-{
-       int ngroups = EXT3_SB(sb)->s_groups_count;
-       unsigned int freei, avefreei;
-       struct ext3_group_desc *desc, *best_desc = NULL;
-       int group, best_group = -1;
-
-       freei = percpu_counter_read_positive(&EXT3_SB(sb)->s_freeinodes_counter);
-       avefreei = freei / ngroups;
-
-       for (group = 0; group < ngroups; group++) {
-               desc = ext3_get_group_desc (sb, group, NULL);
-               if (!desc || !desc->bg_free_inodes_count)
-                       continue;
-               if (le16_to_cpu(desc->bg_free_inodes_count) < avefreei)
-                       continue;
-               if (!best_desc ||
-                   (le16_to_cpu(desc->bg_free_blocks_count) >
-                    le16_to_cpu(best_desc->bg_free_blocks_count))) {
-                       best_group = group;
-                       best_desc = desc;
-               }
-       }
-       return best_group;
-}
-
 /*
  * Orlov's allocator for directories.
  *
@@ -436,12 +400,9 @@ struct inode *ext3_new_inode(handle_t *handle, struct inode * dir,
 
        sbi = EXT3_SB(sb);
        es = sbi->s_es;
-       if (S_ISDIR(mode)) {
-               if (test_opt (sb, OLDALLOC))
-                       group = find_group_dir(sb, dir);
-               else
-                       group = find_group_orlov(sb, dir);
-       } else
+       if (S_ISDIR(mode))
+               group = find_group_orlov(sb, dir);
+       else
                group = find_group_other(sb, dir);
 
        err = -ENOSPC;
index 2043bcc8771937b98cf32a4df0f0d4b42f077b2a..922d289aeeb315ce4a5c1131371ea90f266c0df4 100644 (file)
@@ -652,8 +652,6 @@ static int ext3_show_options(struct seq_file *seq, struct vfsmount *vfs)
                seq_puts(seq, ",nouid32");
        if (test_opt(sb, DEBUG))
                seq_puts(seq, ",debug");
-       if (test_opt(sb, OLDALLOC))
-               seq_puts(seq, ",oldalloc");
 #ifdef CONFIG_EXT3_FS_XATTR
        if (test_opt(sb, XATTR_USER))
                seq_puts(seq, ",user_xattr");
@@ -1049,10 +1047,12 @@ static int parse_options (char *options, struct super_block *sb,
                        set_opt (sbi->s_mount_opt, DEBUG);
                        break;
                case Opt_oldalloc:
-                       set_opt (sbi->s_mount_opt, OLDALLOC);
+                       ext3_msg(sb, KERN_WARNING,
+                               "Ignoring deprecated oldalloc option");
                        break;
                case Opt_orlov:
-                       clear_opt (sbi->s_mount_opt, OLDALLOC);
+                       ext3_msg(sb, KERN_WARNING,
+                               "Ignoring deprecated orlov option");
                        break;
 #ifdef CONFIG_EXT3_FS_XATTR
                case Opt_user_xattr:
index 67a803aee619c0b75593e4c740abc35087f28d49..96a30b95e5c23cdad60c3311d9d2fe39f6708d72 100644 (file)
@@ -381,7 +381,7 @@ struct ext3_inode {
  * Mount flags
  */
 #define EXT3_MOUNT_CHECK               0x00001 /* Do mount-time checks */
-#define EXT3_MOUNT_OLDALLOC            0x00002  /* Don't use the new Orlov allocator */
+/* EXT3_MOUNT_OLDALLOC was there */
 #define EXT3_MOUNT_GRPID               0x00004 /* Create files with directory's group */
 #define EXT3_MOUNT_DEBUG               0x00008 /* Some debugging messages */
 #define EXT3_MOUNT_ERRORS_CONT         0x00010 /* Continue on errors */