From: Steve Dickson <SteveD@redhat.com>
To: Mateusz Guzik <mguzik@redhat.com>, linux-nfs@vger.kernel.org
Subject: Re: [PATCH] nfsidmap: fix error reporting for nfs4_* family of functions
Date: Tue, 11 Mar 2014 14:06:17 -0400 [thread overview]
Message-ID: <531F5099.70108@RedHat.com> (raw)
In-Reply-To: <1393275114-28792-1-git-send-email-mguzik@redhat.com>
On 02/24/2014 03:51 PM, Mateusz Guzik wrote:
> Errors were logged with xlog_err function relying on errno, but these
> functions don't set it.
>
> Fix the problem by introducing xlog_err_code which accepts error code.
>
> Signed-off-by: Mateusz Guzik <mguzik@redhat.com>
Committed...
steved.
> ---
> support/include/xlog.h | 1 +
> support/nfs/xlog.c | 12 ++++++++++++
> utils/nfsidmap/nfsidmap.c | 11 ++++++-----
> 3 files changed, 19 insertions(+), 5 deletions(-)
>
> diff --git a/support/include/xlog.h b/support/include/xlog.h
> index fd34ec2..ae34eb7 100644
> --- a/support/include/xlog.h
> +++ b/support/include/xlog.h
> @@ -45,6 +45,7 @@ int xlog_enabled(int fac);
> void xlog(int fac, const char *fmt, ...);
> void xlog_warn(const char *fmt, ...);
> void xlog_err(const char *fmt, ...);
> +void xlog_err_code(int error, const char *fmt, ...);
> void xlog_backend(int fac, const char *fmt, va_list args);
>
> #endif /* XLOG_H */
> diff --git a/support/nfs/xlog.c b/support/nfs/xlog.c
> index 83d07e1..3759217 100644
> --- a/support/nfs/xlog.c
> +++ b/support/nfs/xlog.c
> @@ -27,6 +27,7 @@
> #include <stdio.h>
> #include <stdarg.h>
> #include <syslog.h>
> +#include <errno.h>
> #include "nfslib.h"
>
> #undef VERBOSE_PRINTF
> @@ -220,3 +221,14 @@ xlog_err(const char* fmt, ...)
> xlog_backend(L_FATAL, fmt, args);
> va_end(args);
> }
> +
> +void
> +xlog_err_code(int error, const char *fmt, ...)
> +{
> + va_list args;
> +
> + errno = -error;
> + va_start(args, fmt);
> + xlog_backend(L_FATAL, fmt, args);
> + va_end(args);
> +}
> diff --git a/utils/nfsidmap/nfsidmap.c b/utils/nfsidmap/nfsidmap.c
> index e14543c..bf97714 100644
> --- a/utils/nfsidmap/nfsidmap.c
> +++ b/utils/nfsidmap/nfsidmap.c
> @@ -54,7 +54,7 @@ int id_lookup(char *name_at_domain, key_serial_t key, int type)
> sprintf(id, "%u", gid);
> }
> if (rc < 0)
> - xlog_err("id_lookup: %s: failed: %m",
> + xlog_err_code(rc, "id_lookup: %s: failed: %m",
> (type == USER ? "nfs4_owner_to_uid" : "nfs4_group_owner_to_gid"));
>
> if (rc == 0) {
> @@ -95,8 +95,9 @@ int name_lookup(char *id, key_serial_t key, int type)
>
> rc = nfs4_get_default_domain(NULL, domain, NFS4_MAX_DOMAIN_LEN);
> if (rc != 0) {
> + xlog_err_code(rc,
> + "name_lookup: nfs4_get_default_domain failed: %m");
> rc = -1;
> - xlog_err("name_lookup: nfs4_get_default_domain failed: %m");
> goto out;
> }
>
> @@ -108,7 +109,7 @@ int name_lookup(char *id, key_serial_t key, int type)
> rc = nfs4_gid_to_name(gid, domain, name, IDMAP_NAMESZ);
> }
> if (rc < 0)
> - xlog_err("name_lookup: %s: failed: %m",
> + xlog_err_code(rc, "name_lookup: %s: failed: %m",
> (type == USER ? "nfs4_uid_to_name" : "nfs4_gid_to_name"));
>
> if (rc == 0) {
> @@ -272,8 +273,8 @@ int main(int argc, char **argv)
> }
> }
>
> - if (nfs4_init_name_mapping(PATH_IDMAPDCONF)) {
> - xlog_err("Unable to create name to user id mappings.");
> + if (rc = nfs4_init_name_mapping(PATH_IDMAPDCONF)) {
> + xlog_err_code(rc, "Unable to create name to user id mappings.");
> return 1;
> }
> if (!verbose)
>
prev parent reply other threads:[~2014-03-11 18:06 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-02-24 20:51 [PATCH] nfsidmap: fix error reporting for nfs4_* family of functions Mateusz Guzik
2014-03-11 18:06 ` Steve Dickson [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=531F5099.70108@RedHat.com \
--to=steved@redhat.com \
--cc=linux-nfs@vger.kernel.org \
--cc=mguzik@redhat.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.