From: Benny Halevy <bhalevy@panasas.com>
To: "J. Bruce Fields" <bfields@citi.umich.edu>,
Eric Anderle <eanderle@umich.edu>
Cc: linux-nfs@vger.kernel.org
Subject: Re: [PATCH 1/2] pnfsd: make /proc/fs/nfsd/pnfs_dlm_device report dlm device list.
Date: Tue, 01 Jun 2010 07:36:19 +0300 [thread overview]
Message-ID: <4C048E43.4060500@panasas.com> (raw)
In-Reply-To: <1275066921-29335-1-git-send-email-bfields@citi.umich.edu>
merged to pnfsd-files
Thanks!
Benny
On May. 28, 2010, 20:15 +0300, "J. Bruce Fields" <bfields@citi.umich.edu> wrote:
> From: Eric Anderle <eanderle@umich.edu>
>
> The ability to read the current device list is useful for debugging.
>
> Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
> ---
> fs/nfsd/nfs4pnfsdlm.c | 25 +++++++++++++++++++++++++
> fs/nfsd/nfsctl.c | 4 +++-
> include/linux/nfsd/nfs4pnfsdlm.h | 2 ++
> 3 files changed, 30 insertions(+), 1 deletions(-)
>
> diff --git a/fs/nfsd/nfs4pnfsdlm.c b/fs/nfsd/nfs4pnfsdlm.c
> index 0cc295c..0351d71 100644
> --- a/fs/nfsd/nfs4pnfsdlm.c
> +++ b/fs/nfsd/nfs4pnfsdlm.c
> @@ -62,6 +62,31 @@ nfsd4_find_pnfs_dlm_device(char *disk_name)
> return NULL;
> }
>
> +ssize_t
> +nfsd4_get_pnfs_dlm_device_list(char *buf, ssize_t buflen)
> +{
> + char *pos = buf;
> + ssize_t size = 0;
> + struct dlm_device_entry *dlm_pdev;
> + int ret = -EINVAL;
> +
> + spin_lock(&dlm_device_list_lock);
> + list_for_each_entry(dlm_pdev, &dlm_device_list, dlm_dev_list)
> + {
> + int advanced;
> + advanced = snprintf(pos, buflen - size, "%s:%s\n", dlm_pdev->disk_name, dlm_pdev->ds_list);
> + if (advanced >= buflen - size)
> + goto out;
> + size += advanced;
> + pos += advanced;
> + }
> + ret = size;
> +
> +out:
> + spin_unlock(&dlm_device_list_lock);
> + return ret;
> +}
> +
> /*
> * pnfs_dlm_device string format:
> * block-device-path:<ds1 ipv4 address>,<ds2 ipv4 address>
> diff --git a/fs/nfsd/nfsctl.c b/fs/nfsd/nfsctl.c
> index 51b0ae1..034d96f 100644
> --- a/fs/nfsd/nfsctl.c
> +++ b/fs/nfsd/nfsctl.c
> @@ -1352,7 +1352,9 @@ static ssize_t __write_pnfs_dlm_device(struct file *file, char *buf,
> return ret;
>
> ret = nfsd4_set_pnfs_dlm_device(pnfs_dlm_device, len);
> - }
> + } else
> + return nfsd4_get_pnfs_dlm_device_list(buf, SIMPLE_TRANSACTION_LIMIT);
> +
> return ret <= 0 ? ret : strlen(buf);
> }
>
> diff --git a/include/linux/nfsd/nfs4pnfsdlm.h b/include/linux/nfsd/nfs4pnfsdlm.h
> index a961c1e..eb31123 100644
> --- a/include/linux/nfsd/nfs4pnfsdlm.h
> +++ b/include/linux/nfsd/nfs4pnfsdlm.h
> @@ -42,6 +42,8 @@ int nfsd4_set_pnfs_dlm_device(char *pnfs_dlm_device, int len);
>
> void nfsd4_pnfs_dlm_shutdown(void);
>
> +ssize_t nfsd4_get_pnfs_dlm_device_list(char *buf, ssize_t buflen);
> +
> #else /* CONFIG_PNFSD */
>
> static inline void nfsd4_pnfs_dlm_shutdown(void)
--
Benny Halevy
Software Architect
Panasas, Inc.
bhalevy@panasas.com
Tel/Fax: +972-3-647-8340
Mobile: +972-54-802-8340
Panasas: The Leader in Parallel Storage
www.panasas.com
prev parent reply other threads:[~2010-06-01 4:36 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-05-28 17:15 [PATCH 1/2] pnfsd: make /proc/fs/nfsd/pnfs_dlm_device report dlm device list J. Bruce Fields
2010-05-28 17:15 ` [PATCH 2/2] pnfsd: fix test in nfsd4_find_pnfs_dlm_device J. Bruce Fields
2010-05-28 17:20 ` J. Bruce Fields
2010-06-01 4:36 ` Benny Halevy
2010-06-01 4:36 ` Benny Halevy [this message]
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=4C048E43.4060500@panasas.com \
--to=bhalevy@panasas.com \
--cc=bfields@citi.umich.edu \
--cc=eanderle@umich.edu \
--cc=linux-nfs@vger.kernel.org \
/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.