Whamcloud - gitweb
LU-8871 kernel: kernel upgrade [SLES12 SP2 4.4.21-84]
[fs/lustre-release.git] / ldiskfs / kernel_patches / patches / sles12sp2 / ext4-max-dir-size.patch
1 Add a proc interface for max_dir_size.
2
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 @@ -2557,6 +2562,8 @@ EXT4_RW_ATTR(reserved_clusters);
8  EXT4_ATTR_OFFSET(inode_readahead_blks, 0644, sbi_ui_show,
9                  inode_readahead_blks_store, 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 @@ -2581,6 +2588,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),
22         ATTR_LIST(mb_stats),
23         ATTR_LIST(mb_max_to_scan),
24         ATTR_LIST(mb_min_to_scan),
25 @@ -2676,7 +2476,9 @@ static ssize_t sbi_ui_show(struct ext4_a
26                 if (!ptr)
27                         return 0;
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:
34                 if (!ptr)
35                         return 0;
36 @@ -2691,6 +2494,8 @@ static ssize_t sbi_ui_store(struct ext4_
37                 ret = kstrtoul(skip_spaces(buf), 0, &t);
38                 if (ret)
39                         return ret;
40 +               if (strcmp("max_dir_size", a->attr.name) == 0)
41 +                       t >>= 10;
42                 *((unsigned int *) ptr) = t;
43                 return len;
44         case attr_inode_readahead: