|
120 | 120 | #include <linux/atomic.h> |
121 | 121 | #include <linux/jiffies.h> |
122 | 122 | #include <linux/kernel.h> |
123 | | -#include <linux/kobject.h> |
124 | 123 | #include <linux/list.h> |
125 | 124 | #include <linux/ratelimit.h> |
126 | 125 | #include <linux/spinlock.h> |
@@ -279,7 +278,6 @@ struct hash_lock { |
279 | 278 |
|
280 | 279 | struct hash_zones { |
281 | 280 | struct action_manager *manager; |
282 | | - struct kobject dedupe_directory; |
283 | 281 | struct uds_parameters parameters; |
284 | 282 | struct uds_index_session *index_session; |
285 | 283 | struct ratelimit_state ratelimiter; |
@@ -2022,56 +2020,6 @@ void vdo_share_compressed_write_lock(struct data_vio *data_vio, |
2022 | 2020 | VDO_ASSERT_LOG_ONLY(claimed, "impossible to fail to claim an initial increment"); |
2023 | 2021 | } |
2024 | 2022 |
|
2025 | | -static void dedupe_kobj_release(struct kobject *directory) |
2026 | | -{ |
2027 | | - vdo_free(container_of(directory, struct hash_zones, dedupe_directory)); |
2028 | | -} |
2029 | | - |
2030 | | -static ssize_t dedupe_status_show(struct kobject *directory, struct attribute *attr, |
2031 | | - char *buf) |
2032 | | -{ |
2033 | | - struct uds_attribute *ua = container_of(attr, struct uds_attribute, attr); |
2034 | | - struct hash_zones *zones = container_of(directory, struct hash_zones, |
2035 | | - dedupe_directory); |
2036 | | - |
2037 | | - if (ua->show_string != NULL) |
2038 | | - return sprintf(buf, "%s\n", ua->show_string(zones)); |
2039 | | - else |
2040 | | - return -EINVAL; |
2041 | | -} |
2042 | | - |
2043 | | -static ssize_t dedupe_status_store(struct kobject *kobj __always_unused, |
2044 | | - struct attribute *attr __always_unused, |
2045 | | - const char *buf __always_unused, |
2046 | | - size_t length __always_unused) |
2047 | | -{ |
2048 | | - return -EINVAL; |
2049 | | -} |
2050 | | - |
2051 | | -/*----------------------------------------------------------------------*/ |
2052 | | - |
2053 | | -static const struct sysfs_ops dedupe_sysfs_ops = { |
2054 | | - .show = dedupe_status_show, |
2055 | | - .store = dedupe_status_store, |
2056 | | -}; |
2057 | | - |
2058 | | -static struct uds_attribute dedupe_status_attribute = { |
2059 | | - .attr = {.name = "status", .mode = 0444, }, |
2060 | | - .show_string = vdo_get_dedupe_index_state_name, |
2061 | | -}; |
2062 | | - |
2063 | | -static struct attribute *dedupe_attrs[] = { |
2064 | | - &dedupe_status_attribute.attr, |
2065 | | - NULL, |
2066 | | -}; |
2067 | | -ATTRIBUTE_GROUPS(dedupe); |
2068 | | - |
2069 | | -static const struct kobj_type dedupe_directory_type = { |
2070 | | - .release = dedupe_kobj_release, |
2071 | | - .sysfs_ops = &dedupe_sysfs_ops, |
2072 | | - .default_groups = dedupe_groups, |
2073 | | -}; |
2074 | | - |
2075 | 2023 | static void start_uds_queue(void *ptr) |
2076 | 2024 | { |
2077 | 2025 | /* |
@@ -2266,7 +2214,6 @@ static int initialize_index(struct vdo *vdo, struct hash_zones *zones) |
2266 | 2214 | vdo_initialize_completion(&zones->completion, vdo, VDO_HASH_ZONES_COMPLETION); |
2267 | 2215 | vdo_set_completion_callback(&zones->completion, change_dedupe_state, |
2268 | 2216 | vdo->thread_config.dedupe_thread); |
2269 | | - kobject_init(&zones->dedupe_directory, &dedupe_directory_type); |
2270 | 2217 | return VDO_SUCCESS; |
2271 | 2218 | } |
2272 | 2219 |
|
@@ -2537,10 +2484,7 @@ void vdo_free_hash_zones(struct hash_zones *zones) |
2537 | 2484 | vdo_finish_dedupe_index(zones); |
2538 | 2485 |
|
2539 | 2486 | ratelimit_state_exit(&zones->ratelimiter); |
2540 | | - if (vdo_get_admin_state_code(&zones->state) == VDO_ADMIN_STATE_NEW) |
2541 | | - vdo_free(zones); |
2542 | | - else |
2543 | | - kobject_put(&zones->dedupe_directory); |
| 2487 | + vdo_free(zones); |
2544 | 2488 | } |
2545 | 2489 |
|
2546 | 2490 | static void initiate_suspend_index(struct admin_state *state) |
@@ -3047,17 +2991,9 @@ int vdo_message_dedupe_index(struct hash_zones *zones, const char *name) |
3047 | 2991 | return -EINVAL; |
3048 | 2992 | } |
3049 | 2993 |
|
3050 | | -int vdo_add_dedupe_index_sysfs(struct hash_zones *zones) |
| 2994 | +void vdo_set_dedupe_state_normal(struct hash_zones *zones) |
3051 | 2995 | { |
3052 | | - int result = kobject_add(&zones->dedupe_directory, |
3053 | | - &zones->completion.vdo->vdo_directory, "dedupe"); |
3054 | | - |
3055 | | - if (result == 0) { |
3056 | | - vdo_set_admin_state_code(&zones->state, |
3057 | | - VDO_ADMIN_STATE_NORMAL_OPERATION); |
3058 | | - } |
3059 | | - |
3060 | | - return result; |
| 2996 | + vdo_set_admin_state_code(&zones->state, VDO_ADMIN_STATE_NORMAL_OPERATION); |
3061 | 2997 | } |
3062 | 2998 |
|
3063 | 2999 | /* If create_flag, create a new index without first attempting to load an existing index. */ |
|
0 commit comments