From: Hannes Reinecke <hare@suse.de>
To: Coly Li <colyli@suse.de>, axboe@kernel.dk
Cc: linux-bcache@vger.kernel.org, linux-block@vger.kernel.org,
Jianpeng Ma <jianpeng.ma@intel.com>,
Qiaowei Ren <qiaowei.ren@intel.com>
Subject: Re: [PATCH 14/14] bcache: add sysfs interface register_nvdimm_meta to register NVDIMM meta device
Date: Tue, 22 Jun 2021 13:04:32 +0200 [thread overview]
Message-ID: <d85d87f1-5a3d-9e20-7275-1aab7b8a6711@suse.de> (raw)
In-Reply-To: <20210615054921.101421-15-colyli@suse.de>
On 6/15/21 7:49 AM, Coly Li wrote:
> This patch adds a sysfs interface register_nvdimm_meta to register
> NVDIMM meta device. The sysfs interface file only shows up when
> CONFIG_BCACHE_NVM_PAGES=y. Then a NVDIMM name space formatted by
> bcache-tools can be registered into bcache by e.g.,
> echo /dev/pmem0 > /sys/fs/bcache/register_nvdimm_meta
>
> Signed-off-by: Coly Li <colyli@suse.de>
> Cc: Jianpeng Ma <jianpeng.ma@intel.com>
> Cc: Qiaowei Ren <qiaowei.ren@intel.com>
> ---
> drivers/md/bcache/super.c | 29 +++++++++++++++++++++++++++++
> 1 file changed, 29 insertions(+)
>
> diff --git a/drivers/md/bcache/super.c b/drivers/md/bcache/super.c
> index 4d6666d03aa7..9d506d053548 100644
> --- a/drivers/md/bcache/super.c
> +++ b/drivers/md/bcache/super.c
> @@ -2439,10 +2439,18 @@ static ssize_t register_bcache(struct kobject *k, struct kobj_attribute *attr,
> static ssize_t bch_pending_bdevs_cleanup(struct kobject *k,
> struct kobj_attribute *attr,
> const char *buffer, size_t size);
> +#if defined(CONFIG_BCACHE_NVM_PAGES)
> +static ssize_t register_nvdimm_meta(struct kobject *k,
> + struct kobj_attribute *attr,
> + const char *buffer, size_t size);
> +#endif
>
> kobj_attribute_write(register, register_bcache);
> kobj_attribute_write(register_quiet, register_bcache);
> kobj_attribute_write(pendings_cleanup, bch_pending_bdevs_cleanup);
> +#if defined(CONFIG_BCACHE_NVM_PAGES)
> +kobj_attribute_write(register_nvdimm_meta, register_nvdimm_meta);
> +#endif
>
> static bool bch_is_open_backing(dev_t dev)
> {
> @@ -2556,6 +2564,24 @@ static void register_device_async(struct async_reg_args *args)
> queue_delayed_work(system_wq, &args->reg_work, 10);
> }
>
> +#if defined(CONFIG_BCACHE_NVM_PAGES)
> +static ssize_t register_nvdimm_meta(struct kobject *k, struct kobj_attribute *attr,
> + const char *buffer, size_t size)
> +{
> + ssize_t ret = size;
> +
> + struct bch_nvm_namespace *ns = bch_register_namespace(buffer);
> +
> + if (IS_ERR(ns)) {
> + pr_err("register nvdimm namespace %s for meta device failed.\n",
> + buffer);
> + ret = -EINVAL;
> + }
> +
> + return ret;
> +}
> +#endif
> +
> static ssize_t register_bcache(struct kobject *k, struct kobj_attribute *attr,
> const char *buffer, size_t size)
> {
> @@ -2898,6 +2924,9 @@ static int __init bcache_init(void)
> static const struct attribute *files[] = {
> &ksysfs_register.attr,
> &ksysfs_register_quiet.attr,
> +#if defined(CONFIG_BCACHE_NVM_PAGES)
> + &ksysfs_register_nvdimm_meta.attr,
> +#endif
> &ksysfs_pendings_cleanup.attr,
> NULL
> };
>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Cheers,
Hannes
--
Dr. Hannes Reinecke Kernel Storage Architect
hare@suse.de +49 911 74053 688
SUSE Software Solutions Germany GmbH, Maxfeldstr. 5, 90409 Nürnberg
HRB 36809 (AG Nürnberg), GF: Felix Imendörffer
next prev parent reply other threads:[~2021-06-22 11:04 UTC|newest]
Thread overview: 60+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-06-15 5:49 [PATCH 00/14] bcache patches for Linux v5.14 Coly Li
2021-06-15 5:49 ` [PATCH 01/14] bcache: fix error info in register_bcache() Coly Li
2021-06-22 9:47 ` Hannes Reinecke
2021-06-15 5:49 ` [PATCH 02/14] md: bcache: Fix spelling of 'acquire' Coly Li
2021-06-22 10:03 ` Hannes Reinecke
2021-06-15 5:49 ` [PATCH 03/14] bcache: add initial data structures for nvm pages Coly Li
2021-06-21 16:17 ` Ask help for code review (was Re: [PATCH 03/14] bcache: add initial data structures for nvm pages) Coly Li
2021-06-22 8:41 ` Huang, Ying
2021-06-23 4:32 ` Coly Li
2021-06-23 6:53 ` Huang, Ying
2021-06-23 7:04 ` Christoph Hellwig
2021-06-23 7:19 ` Coly Li
2021-06-23 7:21 ` Christoph Hellwig
2021-06-23 10:05 ` Coly Li
2021-06-23 11:16 ` Coly Li
2021-06-23 11:49 ` Christoph Hellwig
2021-06-23 12:09 ` Coly Li
2021-06-22 10:19 ` [PATCH 03/14] bcache: add initial data structures for nvm pages Hannes Reinecke
2021-06-23 7:09 ` Coly Li
2021-06-15 5:49 ` [PATCH 04/14] bcache: initialize the nvm pages allocator Coly Li
2021-06-22 10:39 ` Hannes Reinecke
2021-06-23 5:26 ` Coly Li
2021-06-23 9:16 ` Hannes Reinecke
2021-06-23 9:34 ` Coly Li
2021-06-15 5:49 ` [PATCH 05/14] bcache: initialization of the buddy Coly Li
2021-06-22 10:45 ` Hannes Reinecke
2021-06-23 5:35 ` Coly Li
2021-06-23 5:46 ` Re[2]: " Pavel Goran
2021-06-23 6:03 ` Coly Li
2021-06-15 5:49 ` [PATCH 06/14] bcache: bch_nvm_alloc_pages() " Coly Li
2021-06-22 10:51 ` Hannes Reinecke
2021-06-23 6:02 ` Coly Li
2021-06-15 5:49 ` [PATCH 07/14] bcache: bch_nvm_free_pages() " Coly Li
2021-06-22 10:53 ` Hannes Reinecke
2021-06-23 6:06 ` Coly Li
2021-06-15 5:49 ` [PATCH 08/14] bcache: get allocated pages from specific owner Coly Li
2021-06-22 10:54 ` Hannes Reinecke
2021-06-23 6:08 ` Coly Li
2021-06-15 5:49 ` [PATCH 09/14] bcache: use bucket index to set GC_MARK_METADATA for journal buckets in bch_btree_gc_finish() Coly Li
2021-06-22 10:55 ` Hannes Reinecke
2021-06-23 6:09 ` Coly Li
2021-06-15 5:49 ` [PATCH 10/14] bcache: add BCH_FEATURE_INCOMPAT_NVDIMM_META into incompat feature set Coly Li
2021-06-22 10:59 ` Hannes Reinecke
2021-06-23 6:09 ` Coly Li
2021-06-15 5:49 ` [PATCH 11/14] bcache: initialize bcache journal for NVDIMM meta device Coly Li
2021-06-22 11:01 ` Hannes Reinecke
2021-06-23 6:17 ` Coly Li
2021-06-23 9:20 ` Hannes Reinecke
2021-06-23 10:14 ` Coly Li
2021-06-15 5:49 ` [PATCH 12/14] bcache: support storing bcache journal into " Coly Li
2021-06-22 11:03 ` Hannes Reinecke
2021-06-23 6:19 ` Coly Li
2021-06-15 5:49 ` [PATCH 13/14] bcache: read jset from NVDIMM pages for journal replay Coly Li
2021-06-22 11:04 ` Hannes Reinecke
2021-06-23 6:21 ` Coly Li
2021-06-15 5:49 ` [PATCH 14/14] bcache: add sysfs interface register_nvdimm_meta to register NVDIMM meta device Coly Li
2021-06-22 11:04 ` Hannes Reinecke [this message]
2021-06-21 15:14 ` [PATCH 00/14] bcache patches for Linux v5.14 Jens Axboe
2021-06-21 15:25 ` Coly Li
2021-06-21 15:27 ` Jens Axboe
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=d85d87f1-5a3d-9e20-7275-1aab7b8a6711@suse.de \
--to=hare@suse.de \
--cc=axboe@kernel.dk \
--cc=colyli@suse.de \
--cc=jianpeng.ma@intel.com \
--cc=linux-bcache@vger.kernel.org \
--cc=linux-block@vger.kernel.org \
--cc=qiaowei.ren@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.