1 Add a proc interface for max_dir_size.
3 Index: linux-3.10.0-123.13.2.el7.x86_64/fs/ext4/sysfs.c
4 ===================================================================
5 --- linux-3.10.0-123.13.2.el7.x86_64.orig/fs/ext4/sysfs.c
6 +++ linux-3.10.0-123.13.2.el7.x86_64/fs/ext4/sysfs.c
7 @@ -170,6 +170,8 @@ EXT4_ATTR_FUNC(reserved_clusters, 0644);
8 EXT4_ATTR_OFFSET(inode_readahead_blks, 0644, inode_readahead,
9 ext4_sb_info, s_inode_readahead_blks);
10 EXT4_RW_ATTR_SBI_UI(inode_goal, s_inode_goal);
11 +EXT4_RW_ATTR_SBI_UI(max_dir_size, s_max_dir_size_kb);
12 +EXT4_RW_ATTR_SBI_UI(max_dir_size_kb, s_max_dir_size_kb);
13 EXT4_RW_ATTR_SBI_UI(mb_stats, s_mb_stats);
14 EXT4_RW_ATTR_SBI_UI(mb_max_to_scan, s_mb_max_to_scan);
15 EXT4_RW_ATTR_SBI_UI(mb_min_to_scan, s_mb_min_to_scan);
16 @@ -199,6 +201,8 @@ static struct attribute *ext4_attrs[] =
17 ATTR_LIST(reserved_clusters),
18 ATTR_LIST(inode_readahead_blks),
19 ATTR_LIST(inode_goal),
20 + ATTR_LIST(max_dir_size),
21 + ATTR_LIST(max_dir_size_kb),
23 ATTR_LIST(mb_max_to_scan),
24 ATTR_LIST(mb_min_to_scan),
25 @@ -284,7 +288,9 @@ static ssize_t ext4_attr_show(struct kob
28 return snprintf(buf, PAGE_SIZE, "%u\n",
29 - *((unsigned int *) ptr));
30 + strcmp("max_dir_size", a->attr.name) ?
31 + *((unsigned int *) ptr) :
32 + (*((unsigned int *) ptr)) << 10);
33 case attr_pointer_atomic:
36 @@ -317,6 +323,8 @@ static ssize_t ext4_attr_store(struct ko
37 ret = kstrtoul(skip_spaces(buf), 0, &t);
40 + if (strcmp("max_dir_size", a->attr.name) == 0)
42 if (a->attr_ptr == ptr_ext4_super_block_offset)
43 *((__le32 *) ptr) = cpu_to_le32(t);