From d4ff78d02d049335d827f9293a4e931261b5c2bb Mon Sep 17 00:00:00 2001 From: Gaurav Date: Tue, 11 Oct 2011 11:15:30 +0530 Subject: NFS: logging enhancement. Change-Id: Ie1731a6b2b63e07bc49a84c2f9dd87c5b50a9f53 BUG: 3527 Reviewed-on: http://review.gluster.com/573 Tested-by: Gluster Build System Reviewed-by: Amar Tumballi Reviewed-by: Vijay Bellur --- xlators/nfs/server/src/nfs-common.c | 30 ++++++++++++++++++++++++------ xlators/nfs/server/src/nfs.c | 4 +++- xlators/nfs/server/src/nfs3-helpers.c | 21 ++++++++++++++------- 3 files changed, 41 insertions(+), 14 deletions(-) diff --git a/xlators/nfs/server/src/nfs-common.c b/xlators/nfs/server/src/nfs-common.c index 7c433fe689d..1c0fb175591 100644 --- a/xlators/nfs/server/src/nfs-common.c +++ b/xlators/nfs/server/src/nfs-common.c @@ -178,8 +178,10 @@ nfs_loc_copy (loc_t *dst, loc_t *src) dst->path = gf_strdup (src->path); - if (!dst->path) + if (!dst->path) { + gf_log (GF_NFS, GF_LOG_ERROR, "strdup failed"); goto out; + } dst->name = strrchr (dst->path, '/'); if (dst->name) @@ -224,8 +226,10 @@ nfs_loc_fill (loc_t *loc, inode_t *inode, inode_t *parent, char *path) loc->name = strrchr (loc->path, '/'); if (loc->name) loc->name++; - else + else { + gf_log (GF_NFS, GF_LOG_ERROR, "No / in path %s", loc->path); goto loc_wipe; + } ret = 0; loc_wipe: @@ -255,12 +259,18 @@ nfs_inode_loc_fill (inode_t *inode, loc_t *loc) ignore_parent: ret = inode_path (inode, NULL, &resolvedpath); - if (ret < 0) + if (ret < 0) { + gf_log (GF_NFS, GF_LOG_ERROR, "path resolution failed %s", + resolvedpath); goto err; + } ret = nfs_loc_fill (loc, inode, parent, resolvedpath); - if (ret < 0) + if (ret < 0) { + gf_log (GF_NFS, GF_LOG_ERROR, "loc fill resolution failed %s", + resolvedpath); goto err; + } err: if (parent) @@ -318,8 +328,11 @@ nfs_parent_inode_loc_fill (inode_t *parent, inode_t *entryinode, char *entry, return ret; ret = inode_path (parent, entry, &path); - if (ret < 0) + if (ret < 0) { + gf_log (GF_NFS, GF_LOG_ERROR, "path resolution failed %s", + path); goto err; + } ret = nfs_loc_fill (loc, entryinode, parent, path); GF_FREE (path); @@ -381,13 +394,18 @@ nfs_entry_loc_fill (inode_table_t *itable, uuid_t pargfid, char *entry, ret = inode_path (parent, entry, &resolvedpath); if (ret < 0) { + gf_log (GF_NFS, GF_LOG_ERROR, "path resolution failed %s", + resolvedpath); ret = -3; goto err; } ret = nfs_loc_fill (loc, entryinode, parent, resolvedpath); - if (ret < 0) + if (ret < 0) { + gf_log (GF_NFS, GF_LOG_ERROR, "loc_fill failed %s", + resolvedpath); ret = -3; + } err: if (parent) diff --git a/xlators/nfs/server/src/nfs.c b/xlators/nfs/server/src/nfs.c index 9c942e1af1b..2bc7f02fcd1 100644 --- a/xlators/nfs/server/src/nfs.c +++ b/xlators/nfs/server/src/nfs.c @@ -132,8 +132,10 @@ nfs_init_versions (struct nfs_state *nfs, xlator_t *this) if (rpcsvc_register_portmap_enabled(nfs->rpcsvc)) { ret = rpcsvc_program_register_portmap (prog, prog->progport); - if (ret == -1) + if (ret == -1) { + gf_log (GF_NFS, GF_LOG_ERROR, "Program registration failed"); goto err; + } } } diff --git a/xlators/nfs/server/src/nfs3-helpers.c b/xlators/nfs/server/src/nfs3-helpers.c index 6ead0154690..25ea340dba4 100644 --- a/xlators/nfs/server/src/nfs3-helpers.c +++ b/xlators/nfs/server/src/nfs3-helpers.c @@ -1668,6 +1668,8 @@ nfs3_dir_open_cbk (call_frame_t *frame, void *cookie, xlator_t *this, cs = frame->local; if (op_ret == -1) { + gf_log (GF_NFS3, GF_LOG_ERROR, "Dir open failed path %s err %s" + , cs->resolvedloc.path, strerror (op_errno)); cs->resolve_ret = -1; cs->resolve_errno = op_errno; nfs3_call_resume (cs); @@ -1948,7 +1950,7 @@ nfs3_file_open_cbk (call_frame_t *frame, void *cookie, xlator_t *this, cs = frame->local; if (op_ret == -1) { - gf_log (GF_NFS3, GF_LOG_TRACE, "Opening uncached fd failed: " + gf_log (GF_NFS3, GF_LOG_ERROR, "Opening uncached fd failed: " "%s", strerror(op_errno)); cs->resolve_ret = -1; cs->resolve_errno = op_errno; @@ -2419,8 +2421,10 @@ nfs3_fh_resolve_inode_done (nfs3_call_state_t *cs, inode_t *inode) gf_log (GF_NFS3, GF_LOG_TRACE, "FH inode resolved"); ret = nfs_inode_loc_fill (inode, &cs->resolvedloc); - if (ret < 0) + if (ret < 0) { + gf_log (GF_NFS3, GF_LOG_ERROR, "inode loc fill failed"); goto err; + } nfs3_call_resume (cs); @@ -2493,7 +2497,8 @@ nfs3_fh_resolve_entry_lookup_cbk (call_frame_t *frame, void *cookie, cs->resolve_errno = op_errno; if (op_ret == -1) { - gf_log (GF_NFS3, GF_LOG_TRACE, "Lookup failed: %s: %s", + gf_log (GF_NFS3, (op_errno == ENOENT ? GF_LOG_TRACE : GF_LOG_ERROR), + "Lookup failed: %s: %s", cs->resolvedloc.path, strerror (op_errno)); goto err; } else @@ -2563,7 +2568,8 @@ nfs3_fh_resolve_parent_lookup_cbk (call_frame_t *frame, void *cookie, cs->resolve_errno = op_errno; if (op_ret == -1) { - gf_log (GF_NFS3, GF_LOG_TRACE, "Lookup failed: %s: %s", + gf_log (GF_NFS3, (op_errno == ENOENT ? GF_LOG_TRACE : GF_LOG_ERROR), + "Lookup failed: %s: %s", cs->resolvedloc.path, strerror (op_errno)); nfs3_call_resume (cs); goto err; @@ -2643,7 +2649,7 @@ nfs3_fh_resolve_opendir_cbk (call_frame_t *frame, void *cookie, xlator_t *this, cs->resolve_errno = op_errno; if (op_ret == -1) { - gf_log (GF_NFS3, GF_LOG_TRACE, "Dir open failed: %s: %s", + gf_log (GF_NFS3, GF_LOG_ERROR, "Dir open failed: %s: %s", cs->resolvedloc.path, strerror (op_errno)); nfs3_call_resume (cs); goto err; @@ -2684,7 +2690,8 @@ nfs3_fh_resolve_dir_lookup_cbk (call_frame_t *frame, void *cookie, cs->resolve_errno = op_errno; if (op_ret == -1) { - gf_log (GF_NFS3, GF_LOG_TRACE, "Lookup failed: %s: %s", + gf_log (GF_NFS3, (op_errno == ENOENT ? GF_LOG_TRACE : GF_LOG_ERROR), + "Lookup failed: %s: %s", cs->resolvedloc.path, strerror (op_errno)); nfs3_call_resume (cs); goto err; @@ -3081,7 +3088,7 @@ nfs3_fh_resolve_root_lookup_cbk (call_frame_t *frame, void *cookie, cs->resolve_errno = op_errno; if (op_ret == -1) { - gf_log (GF_NFS3, GF_LOG_TRACE, "Root lookup failed: %s", + gf_log (GF_NFS3, GF_LOG_ERROR, "Root lookup failed: %s", strerror (op_errno)); goto err; } else -- cgit