bcache: use default_groups in kobj_type
PATCH 1/1 bcache: use default_groups in kobj_type
There are currently 2 ways to create a set of sysfs files for a kobj_type, through the default_attrs field, and the default_groups field. Move the bcache sysfs code to use default_groups field which has been the preferred way since aa30f47cf666 ("kobject: Add support for default attribute groups to kobj_type") so that we can soon get rid of the obsolete default_attrs field.
--- drivers/md/bcache/stats.c | 3 ++- drivers/md/bcache/sysfs.c | 15 ++++++++++----- drivers/md/bcache/sysfs.h | 2 +- 3 files changed, 13 insertions(+), 7 deletions(-)
drivers/md/bcache/stats.c +2 -1
@@ -78,7 +78,7 @@ static void bch_stats_release(struct kobject *k) { } -static struct attribute *bch_stats_files[] = { +static struct attribute *bch_stats_attrs[] = { &sysfs_cache_hits, &sysfs_cache_misses, &sysfs_cache_bypass_hits,
@@ -88,6 +88,7 @@ static struct attribute *bch_stats_files[] = { &sysfs_bypassed,NULL }; +ATTRIBUTE_GROUPS (bch_stats);static KTYPE (bch_stats); int bch_cache_accounting_add_kobjs(struct cache_accounting *acc,
drivers/md/bcache/sysfs.c +10 -5
@@ -500,7 +500,7 @@ STORE(bch_cached_dev)return size; } -static struct attribute *bch_cached_dev_files[] = { +static struct attribute *bch_cached_dev_attrs[] = { &sysfs_attach, &sysfs_detach, &sysfs_stop,
@@ -543,6 +543,7 @@ static struct attribute *bch_cached_dev_files[] = { &sysfs_backing_dev_uuid, NULL }; +ATTRIBUTE_GROUPS (bch_cached_dev);KTYPE (bch_cached_dev);SHOW (bch_flash_dev)
@@ -600,7 +601,7 @@ STORE(__bch_flash_dev) }STORE_LOCKED (bch_flash_dev) -static struct attribute *bch_flash_dev_files[] = { +static struct attribute *bch_flash_dev_attrs[] = { &sysfs_unregister, #if 0 &sysfs_data_csum,
@@ -609,6 +610,7 @@ static struct attribute *bch_flash_dev_files[] = { &sysfs_size,NULL }; +ATTRIBUTE_GROUPS (bch_flash_dev);KTYPE (bch_flash_dev); struct bset_stats_op {
@@ -955,7 +957,7 @@ static void bch_cache_set_internal_release(struct kobject *k) { } -static struct attribute *bch_cache_set_files[] = { +static struct attribute *bch_cache_set_attrs[] = { &sysfs_unregister, &sysfs_stop, &sysfs_synchronous,
@@ -980,9 +982,10 @@ static struct attribute *bch_cache_set_files[] = { &sysfs_clear_stats,NULL }; +ATTRIBUTE_GROUPS (bch_cache_set);KTYPE (bch_cache_set); -static struct attribute *bch_cache_set_internal_files[] = { +static struct attribute *bch_cache_set_internal_attrs[] = { &sysfs_active_journal_entries, sysfs_time_stats_attribute_list(btree_gc, sec, ms)
@@ -1022,6 +1025,7 @@ static struct attribute *bch_cache_set_internal_files[] = { &sysfs_feature_incompat, NULL }; +ATTRIBUTE_GROUPS (bch_cache_set_internal);KTYPE (bch_cache_set_internal);static int __bch_cache_cmp (const void *l,const void *r)
@@ -1182,7 +1186,7 @@ STORE(__bch_cache) }STORE_LOCKED (bch_cache) -static struct attribute *bch_cache_files[] = { +static struct attribute *bch_cache_attrs[] = { &sysfs_bucket_size, &sysfs_block_size, &sysfs_nbuckets,
@@ -1196,4 +1200,5 @@ static struct attribute *bch_cache_files[] = { &sysfs_cache_replacement_policy, NULL }; +ATTRIBUTE_GROUPS (bch_cache);KTYPE (bch_cache);
drivers/md/bcache/sysfs.h +1 -1
@@ -9,7 +9,7 @@ struct kobj_type type ## _ktype = { \ .show = type ## _show, \ .store = type ## _store \ }), \ - .default_attrs = type ## _files \ + .default_groups = type ## _groups \ }#define SHOW (fn) \
Signature · 1 line
2.34.1
Quoted 11 lines · Greg Kroah-Hartman
There are currently 2 ways to create a set of sysfs files for a
kobj_type, through thedefault_attrsfield, and thedefault_groupsfield. Move the bcache sysfs code to usedefault_groupsfield which has been the preferred way sinceaa30f47cf666("kobject: Add support for default attribute groups tokobj_type") so that we can soon get rid of the obsoletedefault_attrsfield.Cc Coly Li <[email protected]>Cc Kent Overstreet <[email protected]>Signed-off-by Greg Kroah-Hartman <[email protected]>
It looks good to me.
I assume you may take this patch directly in your maintenance path, but if you want me to take this, just let me know. Thanks.
Coly Li
Quoted 122 lines
--- drivers/md/bcache/stats.c | 3 ++- drivers/md/bcache/sysfs.c | 15 ++++++++++----- drivers/md/bcache/sysfs.h | 2 +- 3 files changed, 13 insertions(+), 7 deletions(-)drivers/md/bcache/stats.c +2
-1@@ -78,7 +78,7 @@ static void bch_stats_release(struct kobject *k) { } -static struct attribute *bch_stats_files[] = { +static struct attribute *bch_stats_attrs[] = { &sysfs_cache_hits, &sysfs_cache_misses, &sysfs_cache_bypass_hits,@@ -88,6 +88,7 @@ static struct attribute *bch_stats_files[] = { &sysfs_bypassed,NULL }; +ATTRIBUTE_GROUPS (bch_stats);static KTYPE (bch_stats); int bch_cache_accounting_add_kobjs(struct cache_accounting *acc,drivers/md/bcache/sysfs.c +10
-5@@ -500,7 +500,7 @@ STORE(bch_cached_dev)return size; } -static struct attribute *bch_cached_dev_files[] = { +static struct attribute *bch_cached_dev_attrs[] = { &sysfs_attach, &sysfs_detach, &sysfs_stop,@@ -543,6 +543,7 @@ static struct attribute *bch_cached_dev_files[] = { &sysfs_backing_dev_uuid, NULL }; +ATTRIBUTE_GROUPS (bch_cached_dev);KTYPE (bch_cached_dev);SHOW (bch_flash_dev)@@ -600,7 +601,7 @@ STORE(__bch_flash_dev) }STORE_LOCKED (bch_flash_dev) -static struct attribute *bch_flash_dev_files[] = { +static struct attribute *bch_flash_dev_attrs[] = { &sysfs_unregister, #if 0 &sysfs_data_csum,@@ -609,6 +610,7 @@ static struct attribute *bch_flash_dev_files[] = { &sysfs_size,NULL }; +ATTRIBUTE_GROUPS (bch_flash_dev);KTYPE (bch_flash_dev); struct bset_stats_op {@@ -955,7 +957,7 @@ static void bch_cache_set_internal_release(struct kobject *k) { } -static struct attribute *bch_cache_set_files[] = { +static struct attribute *bch_cache_set_attrs[] = { &sysfs_unregister, &sysfs_stop, &sysfs_synchronous,@@ -980,9 +982,10 @@ static struct attribute *bch_cache_set_files[] = { &sysfs_clear_stats,NULL }; +ATTRIBUTE_GROUPS (bch_cache_set);KTYPE (bch_cache_set); -static struct attribute *bch_cache_set_internal_files[] = { +static struct attribute *bch_cache_set_internal_attrs[] = { &sysfs_active_journal_entries, sysfs_time_stats_attribute_list(btree_gc, sec, ms)@@ -1022,6 +1025,7 @@ static struct attribute *bch_cache_set_internal_files[] = { &sysfs_feature_incompat, NULL }; +ATTRIBUTE_GROUPS (bch_cache_set_internal);KTYPE (bch_cache_set_internal);static int __bch_cache_cmp (const void *l,const void *r)@@ -1182,7 +1186,7 @@ STORE(__bch_cache) }STORE_LOCKED (bch_cache) -static struct attribute *bch_cache_files[] = { +static struct attribute *bch_cache_attrs[] = { &sysfs_bucket_size, &sysfs_block_size, &sysfs_nbuckets,@@ -1196,4 +1200,5 @@ static struct attribute *bch_cache_files[] = { &sysfs_cache_replacement_policy, NULL }; +ATTRIBUTE_GROUPS (bch_cache);KTYPE (bch_cache);drivers/md/bcache/sysfs.h +1
-1@@ -9,7 +9,7 @@ struct kobj_type type ## _ktype = { \ .show = type ## _show, \ .store = type ## _store \ }), \ - .default_attrs = type ## _files \ + .default_groups = type ## _groups \ }#define SHOW (fn) \
Quoted 13 lines · Coly Li
Quoted 11 lines · Greg Kroah-Hartman
There are currently 2 ways to create a set of sysfs files for a
kobj_type, through thedefault_attrsfield, and thedefault_groupsfield. Move the bcache sysfs code to usedefault_groupsfield which has been the preferred way sinceaa30f47cf666("kobject: Add support for default attribute groups tokobj_type") so that we can soon get rid of the obsoletedefault_attrsfield.Cc Coly Li <[email protected]>Cc Kent Overstreet <[email protected]>Signed-off-by Greg Kroah-Hartman <[email protected]>
Quoted 6 lines
It looks good to me.
Acked-by Coly Li <[email protected]>I assume you may take this patch directly in your maintenance path, but if you want me to take this, just let me know. Thanks.
I can take it myself, or you can, which ever is easiest for you, just let me know which you prefer. Thanks for the review!
greg k-h
Quoted 13 lines · Greg Kroah-Hartman
Quoted 12 lines · Coly Li
Quoted 11 lines · Greg Kroah-Hartman
There are currently 2 ways to create a set of sysfs files for a
kobj_type, through thedefault_attrsfield, and thedefault_groupsfield. Move the bcache sysfs code to usedefault_groupsfield which has been the preferred way sinceaa30f47cf666("kobject: Add support for default attribute groups tokobj_type") so that we can soon get rid of the obsoletedefault_attrsfield.Cc Coly Li <[email protected]>Cc Kent Overstreet <[email protected]>Signed-off-by Greg Kroah-Hartman <[email protected]>
Quoted 8 lines
Quoted 6 lines
It looks good to me.
Acked-by Coly Li <[email protected]>I assume you may take this patch directly in your maintenance path, but if you want me to take this, just let me know. Thanks.
I can take it myself, or you can, which ever is easiest for you, just let me know which you prefer. Thanks for the review!
It will be faster for this patch goes into mainline in your path, I am on vacation now and will have a latency...
Thank you.
Coly Li