提交 5e03b1e9 编写于 作者: G Greg Kroah-Hartman 提交者: Zheng Zengkai

bcache: use default_groups in kobj_type

mainline inclusion
from v5.18-rc1
commit fa97cb84
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/I59A5L?from=project-issue
CVE: N/A

--------------------------------------

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 aa30f47c ("kobject: Add support for
default attribute groups to kobj_type") so that we can soon get rid of
the obsolete default_attrs field.

Cc: Kent Overstreet <kent.overstreet@gmail.com>
Cc: linux-bcache@vger.kernel.org
Acked-by: NColy Li <colyli@suse.de>
Link: https://lore.kernel.org/r/20220106100004.3277439-1-gregkh@linuxfoundation.orgSigned-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Reviewed-by: NJason Yan <yanaijie@huawei.com>
Signed-off-by: NZheng Zengkai <zhengzengkai@huawei.com>
上级 46ac2116
...@@ -78,7 +78,7 @@ static void bch_stats_release(struct kobject *k) ...@@ -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_hits,
&sysfs_cache_misses, &sysfs_cache_misses,
&sysfs_cache_bypass_hits, &sysfs_cache_bypass_hits,
...@@ -88,6 +88,7 @@ static struct attribute *bch_stats_files[] = { ...@@ -88,6 +88,7 @@ static struct attribute *bch_stats_files[] = {
&sysfs_bypassed, &sysfs_bypassed,
NULL NULL
}; };
ATTRIBUTE_GROUPS(bch_stats);
static KTYPE(bch_stats); static KTYPE(bch_stats);
int bch_cache_accounting_add_kobjs(struct cache_accounting *acc, int bch_cache_accounting_add_kobjs(struct cache_accounting *acc,
......
...@@ -500,7 +500,7 @@ STORE(bch_cached_dev) ...@@ -500,7 +500,7 @@ STORE(bch_cached_dev)
return size; return size;
} }
static struct attribute *bch_cached_dev_files[] = { static struct attribute *bch_cached_dev_attrs[] = {
&sysfs_attach, &sysfs_attach,
&sysfs_detach, &sysfs_detach,
&sysfs_stop, &sysfs_stop,
...@@ -543,6 +543,7 @@ static struct attribute *bch_cached_dev_files[] = { ...@@ -543,6 +543,7 @@ static struct attribute *bch_cached_dev_files[] = {
&sysfs_backing_dev_uuid, &sysfs_backing_dev_uuid,
NULL NULL
}; };
ATTRIBUTE_GROUPS(bch_cached_dev);
KTYPE(bch_cached_dev); KTYPE(bch_cached_dev);
SHOW(bch_flash_dev) SHOW(bch_flash_dev)
...@@ -600,7 +601,7 @@ STORE(__bch_flash_dev) ...@@ -600,7 +601,7 @@ STORE(__bch_flash_dev)
} }
STORE_LOCKED(bch_flash_dev) STORE_LOCKED(bch_flash_dev)
static struct attribute *bch_flash_dev_files[] = { static struct attribute *bch_flash_dev_attrs[] = {
&sysfs_unregister, &sysfs_unregister,
#if 0 #if 0
&sysfs_data_csum, &sysfs_data_csum,
...@@ -609,6 +610,7 @@ static struct attribute *bch_flash_dev_files[] = { ...@@ -609,6 +610,7 @@ static struct attribute *bch_flash_dev_files[] = {
&sysfs_size, &sysfs_size,
NULL NULL
}; };
ATTRIBUTE_GROUPS(bch_flash_dev);
KTYPE(bch_flash_dev); KTYPE(bch_flash_dev);
struct bset_stats_op { struct bset_stats_op {
...@@ -955,7 +957,7 @@ static void bch_cache_set_internal_release(struct kobject *k) ...@@ -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_unregister,
&sysfs_stop, &sysfs_stop,
&sysfs_synchronous, &sysfs_synchronous,
...@@ -980,9 +982,10 @@ static struct attribute *bch_cache_set_files[] = { ...@@ -980,9 +982,10 @@ static struct attribute *bch_cache_set_files[] = {
&sysfs_clear_stats, &sysfs_clear_stats,
NULL NULL
}; };
ATTRIBUTE_GROUPS(bch_cache_set);
KTYPE(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_active_journal_entries,
sysfs_time_stats_attribute_list(btree_gc, sec, ms) sysfs_time_stats_attribute_list(btree_gc, sec, ms)
...@@ -1022,6 +1025,7 @@ static struct attribute *bch_cache_set_internal_files[] = { ...@@ -1022,6 +1025,7 @@ static struct attribute *bch_cache_set_internal_files[] = {
&sysfs_feature_incompat, &sysfs_feature_incompat,
NULL NULL
}; };
ATTRIBUTE_GROUPS(bch_cache_set_internal);
KTYPE(bch_cache_set_internal); KTYPE(bch_cache_set_internal);
static int __bch_cache_cmp(const void *l, const void *r) static int __bch_cache_cmp(const void *l, const void *r)
...@@ -1182,7 +1186,7 @@ STORE(__bch_cache) ...@@ -1182,7 +1186,7 @@ STORE(__bch_cache)
} }
STORE_LOCKED(bch_cache) STORE_LOCKED(bch_cache)
static struct attribute *bch_cache_files[] = { static struct attribute *bch_cache_attrs[] = {
&sysfs_bucket_size, &sysfs_bucket_size,
&sysfs_block_size, &sysfs_block_size,
&sysfs_nbuckets, &sysfs_nbuckets,
...@@ -1196,4 +1200,5 @@ static struct attribute *bch_cache_files[] = { ...@@ -1196,4 +1200,5 @@ static struct attribute *bch_cache_files[] = {
&sysfs_cache_replacement_policy, &sysfs_cache_replacement_policy,
NULL NULL
}; };
ATTRIBUTE_GROUPS(bch_cache);
KTYPE(bch_cache); KTYPE(bch_cache);
...@@ -9,7 +9,7 @@ struct kobj_type type ## _ktype = { \ ...@@ -9,7 +9,7 @@ struct kobj_type type ## _ktype = { \
.show = type ## _show, \ .show = type ## _show, \
.store = type ## _store \ .store = type ## _store \
}), \ }), \
.default_attrs = type ## _files \ .default_groups = type ## _groups \
} }
#define SHOW(fn) \ #define SHOW(fn) \
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册