lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Sat, 8 Jan 2022 14:16:28 +0800
From:   Coly Li <colyli@...e.de>
To:     Greg Kroah-Hartman <gregkh@...uxfoundation.org>
Cc:     Kent Overstreet <kent.overstreet@...il.com>,
        linux-bcache@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] bcache: use default_groups in kobj_type

On 1/6/22 6:00 PM, Greg Kroah-Hartman wrote:
> 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.
>
> Cc: Coly Li <colyli@...e.de>
> Cc: Kent Overstreet <kent.overstreet@...il.com>
> Cc: linux-bcache@...r.kernel.org
> Signed-off-by: Greg Kroah-Hartman <gregkh@...uxfoundation.org>

It looks good to me.

Acked-by: Coly Li <colyli@...e.de>

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

> ---
>   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(-)
>
> diff --git a/drivers/md/bcache/stats.c b/drivers/md/bcache/stats.c
> index 4c7ee5fedb9d..68b02216033d 100644
> --- a/drivers/md/bcache/stats.c
> +++ b/drivers/md/bcache/stats.c
> @@ -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,
> diff --git a/drivers/md/bcache/sysfs.c b/drivers/md/bcache/sysfs.c
> index 1f0dce30fa75..d1029d71ff3b 100644
> --- a/drivers/md/bcache/sysfs.c
> +++ b/drivers/md/bcache/sysfs.c
> @@ -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);
> diff --git a/drivers/md/bcache/sysfs.h b/drivers/md/bcache/sysfs.h
> index c1752ba2e05b..a2ff6447b699 100644
> --- a/drivers/md/bcache/sysfs.h
> +++ b/drivers/md/bcache/sysfs.h
> @@ -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)							\

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ