Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

btrfs: Remove unused sysfs code

Removes code no longer used. The sysfs file itself is kept, because the
btrfs developers expressed interest in putting new entries to sysfs.

Signed-off-by: Maarten Lankhorst <m.b.lankhorst@gmail.com>
Signed-off-by: Chris Mason <chris.mason@oracle.com>

authored by

Maarten Lankhorst and committed by
Chris Mason
9fe6a50f 3ed4498c

-148
-1
fs/btrfs/ctree.h
··· 1195 1195 struct btrfs_key defrag_max; 1196 1196 int defrag_running; 1197 1197 char *name; 1198 - int in_sysfs; 1199 1198 1200 1199 /* the dirty list is only used by non-reference counted roots */ 1201 1200 struct list_head dirty_list;
-1
fs/btrfs/disk-io.c
··· 1044 1044 root->last_trans = 0; 1045 1045 root->highest_objectid = 0; 1046 1046 root->name = NULL; 1047 - root->in_sysfs = 0; 1048 1047 root->inode_tree = RB_ROOT; 1049 1048 INIT_RADIX_TREE(&root->delayed_nodes_tree, GFP_ATOMIC); 1050 1049 root->block_rsv = NULL;
-146
fs/btrfs/sysfs.c
··· 28 28 #include "disk-io.h" 29 29 #include "transaction.h" 30 30 31 - static ssize_t root_blocks_used_show(struct btrfs_root *root, char *buf) 32 - { 33 - return snprintf(buf, PAGE_SIZE, "%llu\n", 34 - (unsigned long long)btrfs_root_used(&root->root_item)); 35 - } 36 - 37 - static ssize_t root_block_limit_show(struct btrfs_root *root, char *buf) 38 - { 39 - return snprintf(buf, PAGE_SIZE, "%llu\n", 40 - (unsigned long long)btrfs_root_limit(&root->root_item)); 41 - } 42 - 43 - static ssize_t super_blocks_used_show(struct btrfs_fs_info *fs, char *buf) 44 - { 45 - 46 - return snprintf(buf, PAGE_SIZE, "%llu\n", 47 - (unsigned long long)btrfs_super_bytes_used(&fs->super_copy)); 48 - } 49 - 50 - static ssize_t super_total_blocks_show(struct btrfs_fs_info *fs, char *buf) 51 - { 52 - return snprintf(buf, PAGE_SIZE, "%llu\n", 53 - (unsigned long long)btrfs_super_total_bytes(&fs->super_copy)); 54 - } 55 - 56 - static ssize_t super_blocksize_show(struct btrfs_fs_info *fs, char *buf) 57 - { 58 - return snprintf(buf, PAGE_SIZE, "%llu\n", 59 - (unsigned long long)btrfs_super_sectorsize(&fs->super_copy)); 60 - } 61 - 62 - /* this is for root attrs (subvols/snapshots) */ 63 - struct btrfs_root_attr { 64 - struct attribute attr; 65 - ssize_t (*show)(struct btrfs_root *, char *); 66 - ssize_t (*store)(struct btrfs_root *, const char *, size_t); 67 - }; 68 - 69 - #define ROOT_ATTR(name, mode, show, store) \ 70 - static struct btrfs_root_attr btrfs_root_attr_##name = __ATTR(name, mode, \ 71 - show, store) 72 - 73 - ROOT_ATTR(blocks_used, 0444, root_blocks_used_show, NULL); 74 - ROOT_ATTR(block_limit, 0644, root_block_limit_show, NULL); 75 - 76 - static struct attribute *btrfs_root_attrs[] = { 77 - &btrfs_root_attr_blocks_used.attr, 78 - &btrfs_root_attr_block_limit.attr, 79 - NULL, 80 - }; 81 - 82 - /* this is for super attrs (actual full fs) */ 83 - struct btrfs_super_attr { 84 - struct attribute attr; 85 - ssize_t (*show)(struct btrfs_fs_info *, char *); 86 - ssize_t (*store)(struct btrfs_fs_info *, const char *, size_t); 87 - }; 88 - 89 - #define SUPER_ATTR(name, mode, show, store) \ 90 - static struct btrfs_super_attr btrfs_super_attr_##name = __ATTR(name, mode, \ 91 - show, store) 92 - 93 - SUPER_ATTR(blocks_used, 0444, super_blocks_used_show, NULL); 94 - SUPER_ATTR(total_blocks, 0444, super_total_blocks_show, NULL); 95 - SUPER_ATTR(blocksize, 0444, super_blocksize_show, NULL); 96 - 97 - static struct attribute *btrfs_super_attrs[] = { 98 - &btrfs_super_attr_blocks_used.attr, 99 - &btrfs_super_attr_total_blocks.attr, 100 - &btrfs_super_attr_blocksize.attr, 101 - NULL, 102 - }; 103 - 104 - static ssize_t btrfs_super_attr_show(struct kobject *kobj, 105 - struct attribute *attr, char *buf) 106 - { 107 - struct btrfs_fs_info *fs = container_of(kobj, struct btrfs_fs_info, 108 - super_kobj); 109 - struct btrfs_super_attr *a = container_of(attr, 110 - struct btrfs_super_attr, 111 - attr); 112 - 113 - return a->show ? a->show(fs, buf) : 0; 114 - } 115 - 116 - static ssize_t btrfs_super_attr_store(struct kobject *kobj, 117 - struct attribute *attr, 118 - const char *buf, size_t len) 119 - { 120 - struct btrfs_fs_info *fs = container_of(kobj, struct btrfs_fs_info, 121 - super_kobj); 122 - struct btrfs_super_attr *a = container_of(attr, 123 - struct btrfs_super_attr, 124 - attr); 125 - 126 - return a->store ? a->store(fs, buf, len) : 0; 127 - } 128 - 129 - static ssize_t btrfs_root_attr_show(struct kobject *kobj, 130 - struct attribute *attr, char *buf) 131 - { 132 - struct btrfs_root *root = container_of(kobj, struct btrfs_root, 133 - root_kobj); 134 - struct btrfs_root_attr *a = container_of(attr, 135 - struct btrfs_root_attr, 136 - attr); 137 - 138 - return a->show ? a->show(root, buf) : 0; 139 - } 140 - 141 - static ssize_t btrfs_root_attr_store(struct kobject *kobj, 142 - struct attribute *attr, 143 - const char *buf, size_t len) 144 - { 145 - struct btrfs_root *root = container_of(kobj, struct btrfs_root, 146 - root_kobj); 147 - struct btrfs_root_attr *a = container_of(attr, 148 - struct btrfs_root_attr, 149 - attr); 150 - return a->store ? a->store(root, buf, len) : 0; 151 - } 152 - 153 - static void btrfs_super_release(struct kobject *kobj) 154 - { 155 - struct btrfs_fs_info *fs = container_of(kobj, struct btrfs_fs_info, 156 - super_kobj); 157 - complete(&fs->kobj_unregister); 158 - } 159 - 160 - static void btrfs_root_release(struct kobject *kobj) 161 - { 162 - struct btrfs_root *root = container_of(kobj, struct btrfs_root, 163 - root_kobj); 164 - complete(&root->kobj_unregister); 165 - } 166 - 167 - static const struct sysfs_ops btrfs_super_attr_ops = { 168 - .show = btrfs_super_attr_show, 169 - .store = btrfs_super_attr_store, 170 - }; 171 - 172 - static const struct sysfs_ops btrfs_root_attr_ops = { 173 - .show = btrfs_root_attr_show, 174 - .store = btrfs_root_attr_store, 175 - }; 176 - 177 31 /* /sys/fs/btrfs/ entry */ 178 32 static struct kset *btrfs_kset; 179 33