Commit 4074fe3736b1a43431dff870bf9055ac5dcf3f03

Authored by Eric Sandeen
Committed by Theodore Ts'o
1 parent f077d0d7ea

ext4: remove #ifdef CONFIG_EXT4_INDEX

CONFIG_EXT4_INDEX is not an exposed config option in the kernel, and it is
unconditionally defined in ext4_fs.h.  tune2fs is already able to turn off
dir indexing, so at this point it's just cluttering up the code.  Remove
it.

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: Mingming Cao <cmm@us.ibm.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>

Showing 3 changed files with 2 additions and 39 deletions Side-by-side Diff

... ... @@ -47,9 +47,7 @@
47 47 .compat_ioctl = ext4_compat_ioctl,
48 48 #endif
49 49 .fsync = ext4_sync_file, /* BKL held */
50   -#ifdef CONFIG_EXT4_INDEX
51 50 .release = ext4_release_dir,
52   -#endif
53 51 };
54 52  
55 53  
... ... @@ -107,7 +105,6 @@
107 105  
108 106 sb = inode->i_sb;
109 107  
110   -#ifdef CONFIG_EXT4_INDEX
111 108 if (EXT4_HAS_COMPAT_FEATURE(inode->i_sb,
112 109 EXT4_FEATURE_COMPAT_DIR_INDEX) &&
113 110 ((EXT4_I(inode)->i_flags & EXT4_INDEX_FL) ||
... ... @@ -123,7 +120,6 @@
123 120 */
124 121 EXT4_I(filp->f_path.dentry->d_inode)->i_flags &= ~EXT4_INDEX_FL;
125 122 }
126   -#endif
127 123 stored = 0;
128 124 offset = filp->f_pos & (sb->s_blocksize - 1);
129 125  
... ... @@ -232,7 +228,6 @@
232 228 return ret;
233 229 }
234 230  
235   -#ifdef CONFIG_EXT4_INDEX
236 231 /*
237 232 * These functions convert from the major/minor hash to an f_pos
238 233 * value.
... ... @@ -518,6 +513,4 @@
518 513  
519 514 return 0;
520 515 }
521   -
522   -#endif
... ... @@ -144,7 +144,6 @@
144 144 u16 size;
145 145 };
146 146  
147   -#ifdef CONFIG_EXT4_INDEX
148 147 static inline unsigned dx_get_block (struct dx_entry *entry);
149 148 static void dx_set_block (struct dx_entry *entry, unsigned value);
150 149 static inline unsigned dx_get_hash (struct dx_entry *entry);
151 150  
... ... @@ -766,9 +765,7 @@
766 765 dx_set_block(new, block);
767 766 dx_set_count(entries, count + 1);
768 767 }
769   -#endif
770 768  
771   -
772 769 static void ext4_update_dx_flag(struct inode *inode)
773 770 {
774 771 if (!EXT4_HAS_COMPAT_FEATURE(inode->i_sb,
... ... @@ -869,7 +866,6 @@
869 866 name = dentry->d_name.name;
870 867 if (namelen > EXT4_NAME_LEN)
871 868 return NULL;
872   -#ifdef CONFIG_EXT4_INDEX
873 869 if (is_dx(dir)) {
874 870 bh = ext4_dx_find_entry(dentry, res_dir, &err);
875 871 /*
... ... @@ -881,7 +877,6 @@
881 877 return bh;
882 878 dxtrace(printk("ext4_find_entry: dx failed, falling back\n"));
883 879 }
884   -#endif
885 880 nblocks = dir->i_size >> EXT4_BLOCK_SIZE_BITS(sb);
886 881 start = EXT4_I(dir)->i_dir_start_lookup;
887 882 if (start >= nblocks)
... ... @@ -957,7 +952,6 @@
957 952 return ret;
958 953 }
959 954  
960   -#ifdef CONFIG_EXT4_INDEX
961 955 static struct buffer_head * ext4_dx_find_entry(struct dentry *dentry,
962 956 struct ext4_dir_entry_2 **res_dir, int *err)
963 957 {
... ... @@ -1025,7 +1019,6 @@
1025 1019 dx_release (frames);
1026 1020 return NULL;
1027 1021 }
1028   -#endif
1029 1022  
1030 1023 static struct dentry *ext4_lookup(struct inode * dir, struct dentry *dentry, struct nameidata *nd)
1031 1024 {
... ... @@ -1121,7 +1114,6 @@
1121 1114 de->file_type = ext4_type_by_mode[(mode & S_IFMT)>>S_SHIFT];
1122 1115 }
1123 1116  
1124   -#ifdef CONFIG_EXT4_INDEX
1125 1117 /*
1126 1118 * Move count entries from end of map between two memory locations.
1127 1119 * Returns pointer to last entry moved.
1128 1120  
... ... @@ -1266,9 +1258,7 @@
1266 1258 *error = err;
1267 1259 return NULL;
1268 1260 }
1269   -#endif
1270 1261  
1271   -
1272 1262 /*
1273 1263 * Add a new entry into a directory (leaf) block. If de is non-NULL,
1274 1264 * it points to a directory entry which is guaranteed to be large
... ... @@ -1364,7 +1354,6 @@
1364 1354 return 0;
1365 1355 }
1366 1356  
1367   -#ifdef CONFIG_EXT4_INDEX
1368 1357 /*
1369 1358 * This converts a one block unindexed directory to a 3 block indexed
1370 1359 * directory, and adds the dentry to the indexed directory.
... ... @@ -1443,7 +1432,6 @@
1443 1432  
1444 1433 return add_dirent_to_buf(handle, dentry, inode, de, bh);
1445 1434 }
1446   -#endif
1447 1435  
1448 1436 /*
1449 1437 * ext4_add_entry()
1450 1438  
... ... @@ -1464,9 +1452,7 @@
1464 1452 struct ext4_dir_entry_2 *de;
1465 1453 struct super_block * sb;
1466 1454 int retval;
1467   -#ifdef CONFIG_EXT4_INDEX
1468 1455 int dx_fallback=0;
1469   -#endif
1470 1456 unsigned blocksize;
1471 1457 u32 block, blocks;
1472 1458  
... ... @@ -1474,7 +1460,6 @@
1474 1460 blocksize = sb->s_blocksize;
1475 1461 if (!dentry->d_name.len)
1476 1462 return -EINVAL;
1477   -#ifdef CONFIG_EXT4_INDEX
1478 1463 if (is_dx(dir)) {
1479 1464 retval = ext4_dx_add_entry(handle, dentry, inode);
1480 1465 if (!retval || (retval != ERR_BAD_DX_DIR))
... ... @@ -1483,7 +1468,6 @@
1483 1468 dx_fallback++;
1484 1469 ext4_mark_inode_dirty(handle, dir);
1485 1470 }
1486   -#endif
1487 1471 blocks = dir->i_size >> sb->s_blocksize_bits;
1488 1472 for (block = 0, offset = 0; block < blocks; block++) {
1489 1473 bh = ext4_bread(handle, dir, block, 0, &retval);
1490 1474  
... ... @@ -1493,11 +1477,9 @@
1493 1477 if (retval != -ENOSPC)
1494 1478 return retval;
1495 1479  
1496   -#ifdef CONFIG_EXT4_INDEX
1497 1480 if (blocks == 1 && !dx_fallback &&
1498 1481 EXT4_HAS_COMPAT_FEATURE(sb, EXT4_FEATURE_COMPAT_DIR_INDEX))
1499 1482 return make_indexed_dir(handle, dentry, inode, bh);
1500   -#endif
1501 1483 brelse(bh);
1502 1484 }
1503 1485 bh = ext4_append(handle, dir, &block, &retval);
... ... @@ -1509,7 +1491,6 @@
1509 1491 return add_dirent_to_buf(handle, dentry, inode, de, bh);
1510 1492 }
1511 1493  
1512   -#ifdef CONFIG_EXT4_INDEX
1513 1494 /*
1514 1495 * Returns 0 for success, or a negative error value
1515 1496 */
... ... @@ -1644,7 +1625,6 @@
1644 1625 dx_release(frames);
1645 1626 return err;
1646 1627 }
1647   -#endif
1648 1628  
1649 1629 /*
1650 1630 * ext4_delete_entry deletes a directory entry by merging it with the
include/linux/ext4_fs.h
... ... @@ -36,10 +36,6 @@
36 36 /*max window size: 1024(direct blocks) + 3([t,d]indirect blocks) */
37 37 #define EXT4_MAX_RESERVE_BLOCKS 1027
38 38 #define EXT4_RESERVE_WINDOW_NOT_ALLOCATED 0
39   -/*
40   - * Always enable hashed directories
41   - */
42   -#define CONFIG_EXT4_INDEX
43 39  
44 40 /*
45 41 * Debug code
46 42  
... ... @@ -766,17 +762,11 @@
766 762 * (c) Daniel Phillips, 2001
767 763 */
768 764  
769   -#ifdef CONFIG_EXT4_INDEX
770   - #define is_dx(dir) (EXT4_HAS_COMPAT_FEATURE(dir->i_sb, \
771   - EXT4_FEATURE_COMPAT_DIR_INDEX) && \
  765 +#define is_dx(dir) (EXT4_HAS_COMPAT_FEATURE(dir->i_sb, \
  766 + EXT4_FEATURE_COMPAT_DIR_INDEX) && \
772 767 (EXT4_I(dir)->i_flags & EXT4_INDEX_FL))
773 768 #define EXT4_DIR_LINK_MAX(dir) (!is_dx(dir) && (dir)->i_nlink >= EXT4_LINK_MAX)
774 769 #define EXT4_DIR_LINK_EMPTY(dir) ((dir)->i_nlink == 2 || (dir)->i_nlink == 1)
775   -#else
776   - #define is_dx(dir) 0
777   -#define EXT4_DIR_LINK_MAX(dir) ((dir)->i_nlink >= EXT4_LINK_MAX)
778   -#define EXT4_DIR_LINK_EMPTY(dir) ((dir)->i_nlink == 2)
779   -#endif
780 770  
781 771 /* Legal values for the dx_root hash_version field: */
782 772