diff options
| -rw-r--r-- | xlators/nfs/server/src/acl3.c | 129 | ||||
| -rw-r--r-- | xlators/nfs/server/src/nlm4.c | 279 | ||||
| -rw-r--r-- | xlators/nfs/server/src/nlmcbk_svc.c | 24 | 
3 files changed, 277 insertions, 155 deletions
diff --git a/xlators/nfs/server/src/acl3.c b/xlators/nfs/server/src/acl3.c index 230fb229579..21a92325b72 100644 --- a/xlators/nfs/server/src/acl3.c +++ b/xlators/nfs/server/src/acl3.c @@ -30,6 +30,7 @@  #include "acl3.h"  #include "byte-order.h"  #include "compat-errno.h" +#include "nfs-messages.h"  static int  acl3_nfs_acl_to_xattr (aclentry *ace, void *xattrbuf, @@ -56,7 +57,9 @@ nfs3_stat_to_fattr3 (struct iatt *buf, fattr3 *fa);          do      {                                                       \                  state = rpcsvc_request_program_private (request);       \                  if (!state) {                                           \ -                        gf_log (GF_ACL, GF_LOG_ERROR, "NFSv3 state "    \ +                        gf_msg (GF_ACL, GF_LOG_ERROR, errno,            \ +                                NFS_MSG_STATE_MISSING,                  \ +                                "NFSv3 state "                          \                                  "missing from RPC request");            \                          rpcsvc_request_seterr (req, SYSTEM_ERR);        \                          status = NFS3ERR_SERVERFAULT;                   \ @@ -67,7 +70,9 @@ nfs3_stat_to_fattr3 (struct iatt *buf, fattr3 *fa);  #define acl3_validate_gluster_fh(handle, status, errlabel)              \          do {                                                            \                  if (!nfs3_fh_validate (handle)) {                       \ -                        gf_log (GF_ACL, GF_LOG_ERROR, "Bad Handle");    \ +                        gf_msg (GF_ACL, GF_LOG_ERROR, EINVAL,           \ +                                NFS_MSG_BAD_HANDLE,                     \ +                                "Bad Handle");                          \                          status = NFS3ERR_BADHANDLE;                     \                          goto errlabel;                                  \                  }                                                       \ @@ -83,22 +88,24 @@ nfs3_fh_to_xlator (struct nfs3_state *nfs3, struct nfs3_fh *fh);                  rpc_transport_t *trans = NULL;                          \                  volume = nfs3_fh_to_xlator ((nfs3state), handle);      \                  if (!volume) {                                          \ -                        gf_uuid_unparse (handle->exportid, exportid);       \ -                        gf_uuid_unparse (handle->gfid, gfid);               \ +                        gf_uuid_unparse (handle->exportid, exportid);   \ +                        gf_uuid_unparse (handle->gfid, gfid);           \                          trans = rpcsvc_request_transport (req);         \ -                        gf_log (GF_ACL, GF_LOG_ERROR, "Failed to map "  \ +                        gf_msg (GF_ACL, GF_LOG_ERROR, 0,                \ +                                NFS_MSG_FH_TO_VOL_FAIL, "Failed to map "  \                                  "FH to vol: client=%s, exportid=%s, gfid=%s",\                                  trans->peerinfo.identifier, exportid,   \                                  gfid);                                  \ -                        gf_log (GF_ACL, GF_LOG_ERROR,                   \ +                        gf_msg (GF_ACL, GF_LOG_ERROR, ESTALE,           \ +                                NFS_MSG_VOLUME_ERROR,                   \                                  "Stale nfs client %s must be trying to "\                                  "connect to a deleted volume, please "  \                                  "unmount it.", trans->peerinfo.identifier);\                          status = NFS3ERR_STALE;                         \                          goto label;                                     \                  } else {                                                \ -                        gf_log (GF_ACL, GF_LOG_TRACE, "FH to Volume: %s"\ -                                ,volume->name);                         \ +                        gf_msg_trace (GF_ACL, 0, "FH to Volume: %s",    \ +                                      volume->name);                    \                          rpcsvc_request_set_private (req, volume);       \                  }                                                       \          } while (0);                                                    \ @@ -106,8 +113,9 @@ nfs3_fh_to_xlator (struct nfs3_state *nfs3, struct nfs3_fh *fh);  #define acl3_volume_started_check(nfs3state, vlm, rtval, erlbl)         \          do {                                                            \                if ((!nfs_subvolume_started (nfs_state (nfs3state->nfsx), vlm))){\ -                      gf_log (GF_ACL, GF_LOG_ERROR, "Volume is disabled: %s",\ -                              vlm->name);                               \ +                        gf_msg (GF_ACL, GF_LOG_ERROR, 0, NFS_MSG_VOL_DISABLE, \ +                                "Volume is disabled: %s",                 \ +                                vlm->name);                               \                        rtval = RPCSVC_ACTOR_IGNORE;                      \                        goto erlbl;                                       \                }                                                         \ @@ -122,13 +130,14 @@ nfs3_fh_to_xlator (struct nfs3_state *nfs3, struct nfs3_fh *fh);                          trans = rpcsvc_request_transport (cst->req);    \                          xlatorp = nfs3_fh_to_xlator (cst->nfs3state,    \                                                       &cst->resolvefh);  \ -                        gf_uuid_unparse (cst->resolvefh.gfid, gfid);       \ -                        snprintf (buf, sizeof (buf), "(%s) %s : %s",             \ +                        gf_uuid_unparse (cst->resolvefh.gfid, gfid);    \ +                        snprintf (buf, sizeof (buf), "(%s) %s : %s",    \                                    trans->peerinfo.identifier,           \                                    xlatorp ? xlatorp->name : "ERR",      \                                    gfid);                                \ -                        gf_log (GF_ACL, GF_LOG_ERROR, "Unable to resolve FH"\ -                                ": %s", buf);                           \ +                        gf_msg (GF_ACL, GF_LOG_ERROR, cst->resolve_errno, \ +                                NFS_MSG_RESOLVE_FH_FAIL, "Unable to resolve "\ +                                "FH: %s", buf);                           \                          nfstat = nfs3_errno_to_nfsstat3 (cst->resolve_errno);\                          goto erlabl;                                    \                  }                                                       \ @@ -136,9 +145,10 @@ nfs3_fh_to_xlator (struct nfs3_state *nfs3, struct nfs3_fh *fh);  #define acl3_handle_call_state_init(nfs3state, calls, rq, v, opstat, errlabel)\          do {                                                            \ -                calls = nfs3_call_state_init ((nfs3state), (rq), v); \ +                calls = nfs3_call_state_init ((nfs3state), (rq), v);    \                  if (!calls) {                                           \ -                        gf_log (GF_ACL, GF_LOG_ERROR, "Failed to "      \ +                        gf_msg (GF_ACL, GF_LOG_ERROR, 0,                \ +                                NFS_MSG_INIT_CALL_STAT_FAIL, "Failed to " \                                  "init call state");                     \                          opstat = NFS3ERR_SERVERFAULT;                   \                          rpcsvc_request_seterr (req, SYSTEM_ERR);        \ @@ -162,7 +172,8 @@ acl3svc_submit_reply (rpcsvc_request_t *req, void *arg, acl3_serializer sfunc)          nfs3 = (struct nfs3_state *)rpcsvc_request_program_private (req);          if (!nfs3) { -                gf_log (GF_ACL, GF_LOG_ERROR, "mount state not found"); +                gf_msg (GF_ACL, GF_LOG_ERROR, EINVAL, +                        NFS_MSG_MNT_STATE_NOT_FOUND, "mount state not found");                  goto ret;          } @@ -171,7 +182,8 @@ acl3svc_submit_reply (rpcsvc_request_t *req, void *arg, acl3_serializer sfunc)           */          iob = iobuf_get (nfs3->iobpool);          if (!iob) { -                gf_log (GF_ACL, GF_LOG_ERROR, "Failed to get iobuf"); +                gf_msg (GF_ACL, GF_LOG_ERROR, ENOMEM, NFS_MSG_NO_MEMORY, +                        "Failed to get iobuf");                  goto ret;          } @@ -181,27 +193,31 @@ acl3svc_submit_reply (rpcsvc_request_t *req, void *arg, acl3_serializer sfunc)           */          msglen = sfunc (outmsg, arg);          if (msglen < 0) { -                gf_log (GF_ACL, GF_LOG_ERROR, "Failed to encode message"); +                gf_msg (GF_ACL, GF_LOG_ERROR, errno, NFS_MSG_ENCODE_MSG_FAIL, +                        "Failed to encode message");                  goto ret;          }          outmsg.iov_len = msglen;          iobref = iobref_new ();          if (iobref == NULL) { -                gf_log (GF_ACL, GF_LOG_ERROR, "Failed to get iobref"); +                gf_msg (GF_ACL, GF_LOG_ERROR, ENOMEM, NFS_MSG_NO_MEMORY, +                        "Failed to get iobref");                  goto ret;          }          ret = iobref_add (iobref, iob);          if (ret) { -                gf_log (GF_ACL, GF_LOG_ERROR, "Failed to add iob to iobref"); +                gf_msg (GF_ACL, GF_LOG_ERROR, ENOMEM, NFS_MSG_NO_MEMORY, +                        "Failed to add iob to iobref");                  goto ret;          }          /* Then, submit the message for transmission. */          ret = rpcsvc_submit_message (req, &outmsg, 1, NULL, 0, iobref);          if (ret == -1) { -                gf_log (GF_ACL, GF_LOG_ERROR, "Reply submission failed"); +                gf_msg (GF_ACL, GF_LOG_ERROR, errno, NFS_MSG_REP_SUBMIT_FAIL, +                        "Reply submission failed");                  goto ret;          } @@ -222,7 +238,8 @@ acl3svc_null (rpcsvc_request_t *req)          struct iovec    dummyvec = {0, };          if (!req) { -                gf_log (GF_ACL, GF_LOG_ERROR, "Got NULL request!"); +                gf_msg (GF_ACL, GF_LOG_ERROR, EINVAL, NFS_MSG_INVALID_ENTRY, +                        "Got NULL request!");                  return 0;          }          rpcsvc_submit_generic (req, &dummyvec, 1,  NULL, 0, NULL); @@ -262,8 +279,8 @@ acl3_getacl_cbk (call_frame_t *frame, void *cookie, xlator_t *this,          int                      defacl = 1; /* DEFAULT ACL */          if (!frame->local) { -                gf_log (GF_ACL, GF_LOG_ERROR, "Invalid argument," -                       " frame->local NULL"); +                gf_msg (GF_ACL, GF_LOG_ERROR, EINVAL, NFS_MSG_INVALID_ENTRY, +                        "Invalid argument, frame->local NULL");                  return -EINVAL;          }          cs = frame->local; @@ -287,7 +304,8 @@ acl3_getacl_cbk (call_frame_t *frame, void *cookie, xlator_t *this,                                                      data->len,                                                      !defacl);                  if (aclcount < 0) { -                        gf_log (GF_ACL, GF_LOG_ERROR, +                        gf_msg (GF_ACL, GF_LOG_ERROR, aclcount, +                                NFS_MSG_GET_USER_ACL_FAIL,                                  "Failed to get USER ACL");                          stat = nfs3_errno_to_nfsstat3 (-aclcount);                          goto err; @@ -331,8 +349,8 @@ acl3_default_getacl_cbk (call_frame_t *frame, void *cookie, xlator_t *this,          int                      ret = -1;          if (!frame->local) { -                gf_log (GF_ACL, GF_LOG_ERROR, "Invalid argument," -                       " frame->local NULL"); +                gf_msg (GF_ACL, GF_LOG_ERROR, EINVAL, NFS_MSG_INVALID_ENTRY, +                        "Invalid argument, frame->local NULL");                  return -EINVAL;          }          cs = frame->local; @@ -356,7 +374,8 @@ acl3_default_getacl_cbk (call_frame_t *frame, void *cookie, xlator_t *this,                                                      data->len,                                                      defacl);                  if (aclcount < 0) { -                        gf_log (GF_ACL, GF_LOG_ERROR, +                        gf_msg (GF_ACL, GF_LOG_ERROR, aclcount, +                                NFS_MSG_GET_DEF_ACL_FAIL,                                  "Failed to get DEFAULT ACL");                          stat = nfs3_errno_to_nfsstat3 (-aclcount);                          goto err; @@ -399,8 +418,8 @@ acl3_stat_cbk (call_frame_t *frame, void *cookie, xlator_t *this,          uint64_t                        deviceid = 0;          if (!frame->local) { -                gf_log (GF_ACL, GF_LOG_ERROR, "Invalid argument," -                       " frame->local NULL"); +                gf_msg (GF_ACL, GF_LOG_ERROR, EINVAL, NFS_MSG_INVALID_ENTRY, +                        "Invalid argument, frame->local NULL");                  return EINVAL;          } @@ -463,7 +482,8 @@ acl3_getacl_resume (void *carg)          stat = -ret;  acl3err:          if (ret < 0) { -                gf_log (GF_ACL, GF_LOG_ERROR, "unable to open_and_resume"); +                gf_msg (GF_ACL, GF_LOG_ERROR, stat, NFS_MSG_OPEN_FAIL, +                        "unable to open_and_resume");                  cs->args.getaclreply.status = nfs3_errno_to_nfsstat3 (stat);                  acl3_getacl_reply (cs->req, &cs->args.getaclreply);                  nfs3_call_state_wipe (cs); @@ -495,7 +515,8 @@ acl3svc_getacl (rpcsvc_request_t *req)          memset (&getaclreply, 0, sizeof (getaclreply));          getaclargs.fh.n_bytes = (char *)&fh;          if (xdr_to_getaclargs(req->msg[0], &getaclargs) <= 0) { -                gf_log (GF_ACL, GF_LOG_ERROR, "Error decoding args"); +                gf_msg (GF_ACL, GF_LOG_ERROR, errno, NFS_MSG_ARGS_DECODE_ERROR, +                        "Error decoding args");                  rpcsvc_request_seterr (req, GARBAGE_ARGS);                  goto rpcerr;          } @@ -521,7 +542,8 @@ acl3svc_getacl (rpcsvc_request_t *req)  acl3err:          if (ret < 0) { -                gf_log (GF_ACL, GF_LOG_ERROR, "unable to resolve and resume"); +                gf_msg (GF_ACL, GF_LOG_ERROR, -ret, NFS_MSG_RESOLVE_ERROR, +                        "unable to resolve and resume");                  getaclreply.status = stat;                  acl3_getacl_reply (req, &getaclreply);                  nfs3_call_state_wipe (cs); @@ -582,7 +604,8 @@ acl3_setacl_resume (void *carg)  acl3err:          if (ret < 0) {                  stat = -ret; -                gf_log (GF_ACL, GF_LOG_ERROR, "unable to open_and_resume"); +                gf_msg (GF_ACL, GF_LOG_ERROR, stat, NFS_MSG_OPEN_FAIL, +                        "unable to open_and_resume");                  cs->args.setaclreply.status = nfs3_errno_to_nfsstat3 (stat);                  acl3_setacl_reply (cs->req, &cs->args.setaclreply);                  nfs3_call_state_wipe (cs); @@ -632,7 +655,8 @@ acl3svc_setacl (rpcsvc_request_t *req)          setaclargs.aclentry.aclentry_val = aclentry;          setaclargs.daclentry.daclentry_val = daclentry;          if (xdr_to_setaclargs(req->msg[0], &setaclargs) <= 0) { -                gf_log (GF_ACL, GF_LOG_ERROR, "Error decoding args"); +                gf_msg (GF_ACL, GF_LOG_ERROR, errno, NFS_MSG_ARGS_DECODE_ERROR, +                        "Error decoding args");                  rpcsvc_request_seterr (req, GARBAGE_ARGS);                  goto rpcerr;          } @@ -660,7 +684,9 @@ acl3svc_setacl (rpcsvc_request_t *req)                                            cs->aclcount,                                            !defacl);          if (aclerrno < 0) { -                gf_log (GF_ACL, GF_LOG_ERROR, "Failed to set USER ACL"); +                gf_msg (GF_ACL, GF_LOG_ERROR, -aclerrno, +                        NFS_MSG_SET_USER_ACL_FAIL, +                        "Failed to set USER ACL");                  stat = nfs3_errno_to_nfsstat3 (-aclerrno);                  goto acl3err;          } @@ -671,7 +697,9 @@ acl3svc_setacl (rpcsvc_request_t *req)                                            cs->daclcount,                                            defacl);          if (aclerrno < 0) { -                gf_log (GF_ACL, GF_LOG_ERROR, "Failed to set DEFAULT ACL"); +                gf_msg (GF_ACL, GF_LOG_ERROR, -aclerrno, +                        NFS_MSG_SET_DEF_ACL_FAIL, +                        "Failed to set DEFAULT ACL");                  stat = nfs3_errno_to_nfsstat3 (-aclerrno);                  goto acl3err;          } @@ -681,7 +709,8 @@ acl3svc_setacl (rpcsvc_request_t *req)  acl3err:          if (ret < 0) { -                gf_log (GF_ACL, GF_LOG_ERROR, "unable to resolve and resume"); +                gf_msg (GF_ACL, GF_LOG_ERROR, -ret, NFS_MSG_RESOLVE_ERROR, +                        "unable to resolve and resume");                  setaclreply.status = stat;                  acl3_setacl_reply (req, &setaclreply);                  nfs3_call_state_wipe (cs); @@ -736,7 +765,8 @@ acl3svc_init(xlator_t *nfsx)          ns = nfs->nfs3state;          if (!ns) { -                gf_log (GF_ACL, GF_LOG_ERROR, "ACL3 init failed"); +                gf_msg (GF_ACL, GF_LOG_ERROR, EINVAL, NFS_MSG_ACL_INIT_FAIL, +                        "ACL3 init failed");                  goto err;          }          acl3prog.private = ns; @@ -753,32 +783,41 @@ acl3svc_init(xlator_t *nfsx)                  goto err;          ret = dict_set_str (options, "transport-type", "socket");          if (ret == -1) { -                gf_log (GF_ACL, GF_LOG_ERROR, "dict_set_str error"); +                gf_msg (GF_ACL, GF_LOG_ERROR, errno, NFS_MSG_DICT_SET_FAILED, +                        "dict_set_str error");                  goto err;          }          if (nfs->allow_insecure) {                  ret = dict_set_str (options, "rpc-auth-allow-insecure", "on");                  if (ret == -1) { -                        gf_log (GF_ACL, GF_LOG_ERROR, "dict_set_str error"); +                        gf_msg (GF_ACL, GF_LOG_ERROR, errno, +                                 NFS_MSG_DICT_SET_FAILED, +                                 "dict_set_str error");                          goto err;                  }                  ret = dict_set_str (options, "rpc-auth.ports.insecure", "on");                  if (ret == -1) { -                        gf_log (GF_ACL, GF_LOG_ERROR, "dict_set_str error"); +                        gf_msg (GF_ACL, GF_LOG_ERROR, errno, +                                NFS_MSG_DICT_SET_FAILED, +                                "dict_set_str error");                          goto err;                  }          }          ret = dict_set_str (options, "transport.address-family", "inet");          if (ret == -1) { -                gf_log (GF_ACL, GF_LOG_ERROR, "dict_set_str error"); +                gf_msg (GF_ACL, GF_LOG_ERROR, errno, +                        NFS_MSG_DICT_SET_FAILED, +                        "dict_set_str error");                  goto err;          }          ret = rpcsvc_create_listeners (nfs->rpcsvc, options, "ACL");          if (ret == -1) { -                gf_log (GF_ACL, GF_LOG_ERROR, "Unable to create listeners"); +                gf_msg (GF_ACL, GF_LOG_ERROR, errno, +                        NFS_MSG_LISTENERS_CREATE_FAIL, +                        "Unable to create listeners");                  dict_unref (options);                  goto err;          } diff --git a/xlators/nfs/server/src/nlm4.c b/xlators/nfs/server/src/nlm4.c index 37fc9c37699..a1127a30695 100644 --- a/xlators/nfs/server/src/nlm4.c +++ b/xlators/nfs/server/src/nlm4.c @@ -34,6 +34,7 @@  #include "rpc-clnt.h"  #include "nsm-xdr.h"  #include "run.h" +#include "nfs-messages.h"  #include <unistd.h>  #include <rpc/pmap_clnt.h>  #include <rpc/rpc.h> @@ -65,7 +66,8 @@ int nlm_grace_period = 50;          do      {                                                       \                  state = rpcsvc_request_program_private (request);       \                  if (!state) {                                           \ -                        gf_log (GF_NLM, GF_LOG_ERROR, "NFSv3 state "    \ +                        gf_msg (GF_NLM, GF_LOG_ERROR, errno,            \ +                                NFS_MSG_STATE_MISSING, "NFSv3 state "   \                                  "missing from RPC request");            \                          rpcsvc_request_seterr (req, SYSTEM_ERR);        \                          status = nlm4_failed;                           \ @@ -80,7 +82,8 @@ nfs3_call_state_init (struct nfs3_state *s, rpcsvc_request_t *req, xlator_t *v);          do {                                                            \                  calls = nlm4_call_state_init ((nfs3state), (rq));       \                  if (!calls) {                                           \ -                        gf_log (GF_NLM, GF_LOG_ERROR, "Failed to "      \ +                        gf_msg (GF_NLM, GF_LOG_ERROR, errno,            \ +                                NFS_MSG_INIT_CALL_STAT_FAIL, "Failed to "\                                  "init call state");                     \                          opstat = nlm4_failed;                           \                          rpcsvc_request_seterr (req, SYSTEM_ERR);        \ @@ -108,19 +111,21 @@ nfs3_fh_to_xlator (struct nfs3_state *nfs3, struct nfs3_fh *fh);                          gf_uuid_unparse (handle.exportid, exportid);       \                          gf_uuid_unparse (handle.gfid, gfid);               \                          trans = rpcsvc_request_transport (req);         \ -                        gf_log (GF_NLM, GF_LOG_ERROR, "Failed to map "  \ +                        gf_msg (GF_NLM, GF_LOG_ERROR, errno,             \ +                                NFS_MSG_FH_TO_VOL_FAIL, "Failed to map "  \                                  "FH to vol: client=%s, exportid=%s, gfid=%s",\                                  trans->peerinfo.identifier, exportid,   \                                  gfid);                                  \ -                        gf_log (GF_NLM, GF_LOG_ERROR,                   \ +                        gf_msg (GF_NLM, GF_LOG_ERROR, errno,            \ +                                NFS_MSG_VOLUME_ERROR,                   \                                  "Stale nfs client %s must be trying to "\                                  "connect to a deleted volume, please "  \                                  "unmount it.", trans->peerinfo.identifier);\                          status = nlm4_stale_fh;                         \                          goto label;                                     \                  } else {                                                \ -                        gf_log (GF_NLM, GF_LOG_TRACE, "FH to Volume: %s"\ -                                ,volume->name);                         \ +                        gf_msg_trace (GF_NLM, 0, "FH to Volume: %s"     \ +                                      , volume->name);                  \                          rpcsvc_request_set_private (req, volume);       \                  }                                                       \          } while (0);                                                    \ @@ -128,8 +133,9 @@ nfs3_fh_to_xlator (struct nfs3_state *nfs3, struct nfs3_fh *fh);  #define nlm4_volume_started_check(nfs3state, vlm, rtval, erlbl)         \          do {                                                            \                if ((!nfs_subvolume_started (nfs_state (nfs3state->nfsx), vlm))){\ -                      gf_log (GF_NLM, GF_LOG_ERROR, "Volume is disabled: %s",\ -                              vlm->name);                               \ +                        gf_msg (GF_NLM, GF_LOG_ERROR, 0, NFS_MSG_VOL_DISABLE, \ +                                "Volume is disabled: %s",               \ +                                vlm->name);                             \                        rtval = RPCSVC_ACTOR_IGNORE;                      \                        goto erlbl;                                       \                }                                                         \ @@ -144,12 +150,13 @@ nfs3_fh_to_xlator (struct nfs3_state *nfs3, struct nfs3_fh *fh);                          trans = rpcsvc_request_transport (cst->req);    \                          xlatorp = nfs3_fh_to_xlator (cst->nfs3state,    \                                                       &cst->resolvefh);  \ -                        gf_uuid_unparse (cst->resolvefh.gfid, gfid);       \ -                        snprintf (buf, sizeof (buf), "(%s) %s : %s",             \ +                        gf_uuid_unparse (cst->resolvefh.gfid, gfid);    \ +                        snprintf (buf, sizeof (buf), "(%s) %s : %s",    \                                    trans->peerinfo.identifier,           \                                    xlatorp ? xlatorp->name : "ERR",      \                                    gfid);                                \ -                        gf_log (GF_NLM, GF_LOG_ERROR, "Unable to resolve FH"\ +                        gf_msg (GF_NLM, GF_LOG_ERROR, 0,                \ +                                NFS_MSG_RESOLVE_FH_FAIL, "Unable to resolve FH"\                                  ": %s", buf);                           \                          nfstat = nlm4_errno_to_nlm4stat (cst->resolve_errno);\                          goto erlabl;                                    \ @@ -225,7 +232,8 @@ int  nlm_is_oh_same_lkowner (gf_lkowner_t *a, nlm4_netobj *b)  {          if (!a || !b) { -                gf_log (GF_NLM, GF_LOG_ERROR, "invalid args"); +                gf_msg (GF_NLM, GF_LOG_ERROR, EINVAL, NFS_MSG_INVALID_ENTRY, +                        "invalid args");                  return -1;          } @@ -300,8 +308,8 @@ nlm_monitor (char *caller_name)          UNLOCK (&nlm_client_list_lk);          if (monitor == -1) -                gf_log (GF_NLM, GF_LOG_ERROR, "%s was not found in " -                        "the nlmclnt list", caller_name); +                gf_msg (GF_NLM, GF_LOG_ERROR, 0, NFS_MSG_CALLER_NOT_FOUND, +                        "%s was not found in the nlmclnt list", caller_name);          return monitor;  } @@ -412,7 +420,8 @@ nlm_add_nlmclnt (char *caller_name)                  nlmclnt = GF_CALLOC (1, sizeof(*nlmclnt),                                       gf_nfs_mt_nlm4_nlmclnt);                  if (nlmclnt == NULL) { -                        gf_log (GF_NLM, GF_LOG_DEBUG, "malloc error"); +                        gf_msg (GF_NLM, GF_LOG_ERROR, ENOMEM, +                                NFS_MSG_NO_MEMORY, "malloc error");                          goto ret;                  } @@ -444,7 +453,8 @@ nlm4svc_submit_reply (rpcsvc_request_t *req, void *arg, nlm4_serializer sfunc)          nfs3 = (struct nfs3_state *)rpcsvc_request_program_private (req);          if (!nfs3) { -                gf_log (GF_NLM, GF_LOG_ERROR, "mount state not found"); +                gf_msg (GF_NLM, GF_LOG_ERROR, EINVAL, +                        NFS_MSG_MNT_STATE_NOT_FOUND, "mount state not found");                  goto ret;          } @@ -453,7 +463,8 @@ nlm4svc_submit_reply (rpcsvc_request_t *req, void *arg, nlm4_serializer sfunc)           */          iob = iobuf_get (nfs3->iobpool);          if (!iob) { -                gf_log (GF_NLM, GF_LOG_ERROR, "Failed to get iobuf"); +                gf_msg (GF_NLM, GF_LOG_ERROR, ENOMEM, NFS_MSG_NO_MEMORY, +                        "Failed to get iobuf");                  goto ret;          } @@ -463,27 +474,31 @@ nlm4svc_submit_reply (rpcsvc_request_t *req, void *arg, nlm4_serializer sfunc)           */          msglen = sfunc (outmsg, arg);          if (msglen < 0) { -                gf_log (GF_NLM, GF_LOG_ERROR, "Failed to encode message"); +                gf_msg (GF_NLM, GF_LOG_ERROR, errno, NFS_MSG_ENCODE_MSG_FAIL, +                        "Failed to encode message");                  goto ret;          }          outmsg.iov_len = msglen;          iobref = iobref_new ();          if (iobref == NULL) { -                gf_log (GF_NLM, GF_LOG_ERROR, "Failed to get iobref"); +                gf_msg (GF_NLM, GF_LOG_ERROR, ENOMEM, NFS_MSG_NO_MEMORY, +                        "Failed to get iobref");                  goto ret;          }          ret = iobref_add (iobref, iob);          if (ret) { -                gf_log (GF_NLM, GF_LOG_ERROR, "Failed to add iob to iobref"); +                gf_msg (GF_NLM, GF_LOG_ERROR, ENOMEM, NFS_MSG_NO_MEMORY, +                        "Failed to add iob to iobref");                  goto ret;          }          /* Then, submit the message for transmission. */          ret = rpcsvc_submit_message (req, &outmsg, 1, NULL, 0, iobref);          if (ret == -1) { -                gf_log (GF_NLM, GF_LOG_ERROR, "Reply submission failed"); +                gf_msg (GF_NLM, GF_LOG_ERROR, errno, NFS_MSG_REP_SUBMIT_FAIL, +                        "Reply submission failed");                  goto ret;          } @@ -539,8 +554,8 @@ nsm_monitor(void *arg)          clnt = clnt_create("localhost", SM_PROG, SM_VERS, "tcp");          if(!clnt)          { -                gf_log (GF_NLM, GF_LOG_ERROR, "%s", -                        clnt_spcreateerror ("Clnt_create()")); +                gf_msg (GF_NLM, GF_LOG_ERROR, 0, NFS_MSG_CLNT_CREATE_ERROR, +                        "%s", clnt_spcreateerror ("Clnt_create()"));                  goto out;          } @@ -549,14 +564,14 @@ nsm_monitor(void *arg)                          (xdrproc_t) xdr_sm_stat_res, (caddr_t) & res, tout);          if(ret != RPC_SUCCESS)          { -                gf_log (GF_NLM, GF_LOG_ERROR, "clnt_call(): %s", -                        clnt_sperrno(ret)); +                gf_msg (GF_NLM, GF_LOG_ERROR, 0, NFS_MSG_CLNT_CALL_ERROR, +                        "clnt_call(): %s", clnt_sperrno(ret));                  goto out;          }          if(res.res_stat != STAT_SUCC)          { -                gf_log (GF_NLM, GF_LOG_ERROR, "clnt_call(): %s", -                        clnt_sperrno(ret)); +                gf_msg (GF_NLM, GF_LOG_ERROR, 0, NFS_MSG_CLNT_CALL_ERROR, +                        "clnt_call(): %s", clnt_sperrno(ret));                  goto out;          } @@ -613,7 +628,9 @@ nlm4_file_open_and_resume(nfs3_call_state_t *cs, nlm4_resume_fn_t resume)          nlmclnt = nlm_get_uniq (cs->args.nlm4_lockargs.alock.caller_name);          if (nlmclnt == NULL) { -                gf_log (GF_NLM, GF_LOG_ERROR, "nlm_get_uniq() returned NULL"); +                gf_msg (GF_NLM, GF_LOG_ERROR, ENOLCK, +                        NFS_MSG_NO_MEMORY, "nlm_get_uniq() " +                        "returned NULL");                  ret = -ENOLCK;                  goto err;          } @@ -629,7 +646,8 @@ nlm4_file_open_and_resume(nfs3_call_state_t *cs, nlm4_resume_fn_t resume)          fd = fd_create_uint64 (cs->resolvedloc.inode, (uint64_t)nlmclnt);          if (fd == NULL) { -                gf_log (GF_NLM, GF_LOG_ERROR, "fd_create_uint64() returned NULL"); +                gf_msg (GF_NLM, GF_LOG_ERROR, ENOLCK, NFS_MSG_NO_MEMORY, +                        "fd_create_uint64() returned NULL");                  ret = -ENOLCK;                  goto err;          } @@ -638,7 +656,8 @@ nlm4_file_open_and_resume(nfs3_call_state_t *cs, nlm4_resume_fn_t resume)          frame = create_frame (cs->nfsx, cs->nfsx->ctx->pool);          if (!frame) { -                gf_log (GF_NLM, GF_LOG_ERROR, "unable to create frame"); +                gf_msg (GF_NLM, GF_LOG_ERROR, ENOMEM, NFS_MSG_NO_MEMORY, +                        "unable to create frame");                  ret = -ENOMEM;                  goto err;          } @@ -677,7 +696,8 @@ nlm4svc_null (rpcsvc_request_t *req)          struct iovec    dummyvec = {0, };          if (!req) { -                gf_log (GF_NLM, GF_LOG_ERROR, "Got NULL request!"); +                gf_msg (GF_NLM, GF_LOG_ERROR, EINVAL, NFS_MSG_INVALID_ENTRY, +                        "Got NULL request!");                  return 0;          }          rpcsvc_submit_generic (req, &dummyvec, 1,  NULL, 0, NULL); @@ -815,7 +835,8 @@ nlm4_test_resume (void *carg)  nlm4err:          if (ret < 0) { -                gf_log (GF_NLM, GF_LOG_ERROR, "unable to open_and_resume"); +                gf_msg (GF_NLM, GF_LOG_ERROR, -ret, NFS_MSG_OPEN_FAIL, +                        "unable to open_and_resume");                  stat = nlm4_errno_to_nlm4stat (-ret);                  nlm4_test_reply (cs, stat, NULL);                  nfs3_call_state_wipe (cs); @@ -846,7 +867,8 @@ nlm4svc_test (rpcsvc_request_t *req)          nlm4_prep_nlm4_testargs (&cs->args.nlm4_testargs, &fh, &cs->lkowner,                                   cs->cookiebytes);          if (xdr_to_nlm4_testargs(req->msg[0], &cs->args.nlm4_testargs) <= 0) { -                gf_log (GF_NLM, GF_LOG_ERROR, "Error decoding args"); +                gf_msg (GF_NLM, GF_LOG_ERROR, errno, NFS_MSG_ARGS_DECODE_ERROR, +                        "Error decoding args");                  rpcsvc_request_seterr (req, GARBAGE_ARGS);                  goto rpcerr;          } @@ -855,7 +877,8 @@ nlm4svc_test (rpcsvc_request_t *req)          nlm4_map_fh_to_volume (cs->nfs3state, fh, req, vol, stat, nlm4err);          if (nlm_grace_period) { -                gf_log (GF_NLM, GF_LOG_WARNING, "NLM in grace period"); +                gf_msg (GF_NLM, GF_LOG_WARNING, 0, NFS_MSG_NLM_GRACE_PERIOD, +                        "NLM in grace period");                  stat = nlm4_denied_grace_period;                  nlm4_test_reply (cs, stat, NULL);                  nfs3_call_state_wipe (cs); @@ -870,7 +893,8 @@ nlm4svc_test (rpcsvc_request_t *req)  nlm4err:          if (ret < 0) { -                gf_log (GF_NLM, GF_LOG_ERROR, "unable to resolve and resume"); +                gf_msg (GF_NLM, GF_LOG_ERROR, -ret, NFS_MSG_RESOLVE_ERROR, +                        "unable to resolve and resume");                  nlm4_test_reply (cs, stat, NULL);                  nfs3_call_state_wipe (cs);                  return 0; @@ -909,7 +933,9 @@ nlm_rpcclnt_notify (struct rpc_clnt *rpc_clnt, void *mydata,          case RPC_CLNT_CONNECT:                  ret = nlm_set_rpc_clnt (rpc_clnt, caller_name);                  if (ret == -1) { -                        gf_log (GF_NLM, GF_LOG_ERROR, "Failed to set rpc clnt"); +                        gf_msg (GF_NLM, GF_LOG_ERROR, 0, +                                NFS_MSG_RPC_CLNT_ERROR, "Failed to set " +                                "rpc clnt");                          goto err;                  }                  rpc_clnt_unref (rpc_clnt); @@ -954,8 +980,9 @@ nlm4_establish_callback (void *csarg)          switch (sock_union.sa.sa_family) {          case AF_INET6:          /* can not come here as NLM listens on IPv4 */ -                gf_log (GF_NLM, GF_LOG_ERROR, "NLM is not supported on IPv6 in" -                        " this release"); +                gf_msg (GF_NLM, GF_LOG_ERROR, EAFNOSUPPORT, +                        NFS_MSG_UNSUPPORTED_VERSION, +                        "NLM is not supported on IPv6 in this release");                  goto err;  /*                  inet_ntop (AF_INET6, @@ -980,7 +1007,7 @@ nlm4_establish_callback (void *csarg)                               NLM_V4, IPPROTO_TCP);          if (port == 0) { -                gf_log (GF_NLM, GF_LOG_ERROR, +                gf_msg (GF_NLM, GF_LOG_ERROR, 0, NFS_MSG_GET_PORT_ERROR,                          "Unable to get NLM port of the client."                          " Is the firewall running on client?"                          " OR Are RPC services running (rpcinfo -p)?"); @@ -990,13 +1017,15 @@ nlm4_establish_callback (void *csarg)          options = dict_new();          ret = dict_set_str (options, "transport-type", "socket");          if (ret == -1) { -                gf_log (GF_NLM, GF_LOG_ERROR, "dict_set_str error"); +                gf_msg (GF_NLM, GF_LOG_ERROR, errno, NFS_MSG_DICT_SET_FAILED, +                        "dict_set_str error");                  goto err;          }          ret = dict_set_dynstr (options, "remote-host", gf_strdup (peerip));          if (ret == -1) { -                gf_log (GF_NLM, GF_LOG_ERROR, "dict_set_str error"); +                gf_msg (GF_NLM, GF_LOG_ERROR, errno, NFS_MSG_DICT_SET_FAILED, +                        "dict_set_str error");                  goto err;          } @@ -1007,7 +1036,8 @@ nlm4_establish_callback (void *csarg)          ret = dict_set_dynstr (options, "remote-port",                                 portstr);          if (ret == -1) { -                gf_log (GF_NLM, GF_LOG_ERROR, "dict_set_dynstr error"); +                gf_msg (GF_NLM, GF_LOG_ERROR, errno, NFS_MSG_DICT_SET_FAILED, +                        "dict_set_dynstr error");                  goto err;          } @@ -1019,20 +1049,23 @@ nlm4_establish_callback (void *csarg)          ret = dict_set_str (options, "auth-null", "on");          if (ret == -1) { -                gf_log (GF_NLM, GF_LOG_ERROR, "dict_set_dynstr error"); +                gf_msg (GF_NLM, GF_LOG_ERROR, errno, NFS_MSG_DICT_SET_FAILED, +                        "dict_set_dynstr error");                  goto err;          }          /* TODO: is 32 frames in transit enough ? */          rpc_clnt = rpc_clnt_new (options, cs->nfsx->ctx, "NLM-client", 32);          if (rpc_clnt == NULL) { -                gf_log (GF_NLM, GF_LOG_ERROR, "rpc_clnt NULL"); +                gf_msg (GF_NLM, GF_LOG_ERROR, EINVAL, NFS_MSG_INVALID_ENTRY, +                        "rpc_clnt NULL");                  goto err;          }          ret = rpc_clnt_register_notify (rpc_clnt, nlm_rpcclnt_notify, cs);          if (ret == -1) { -                gf_log (GF_NLM, GF_LOG_ERROR,"rpc_clnt_register_connect error"); +                gf_msg (GF_NLM, GF_LOG_ERROR, errno, NFS_MSG_RPC_CLNT_ERROR, +                        "rpc_clnt_register_connect error");                  goto err;          } @@ -1090,7 +1123,8 @@ nlm4svc_send_granted (nfs3_call_state_t *cs)          iobuf = iobuf_get (cs->nfs3state->iobpool);          if (!iobuf) { -                gf_log (GF_NLM, GF_LOG_ERROR, "Failed to get iobuf"); +                gf_msg (GF_NLM, GF_LOG_ERROR, ENOMEM, NFS_MSG_NO_MEMORY, +                        "Failed to get iobuf");                  goto ret;          } @@ -1102,13 +1136,15 @@ nlm4svc_send_granted (nfs3_call_state_t *cs)          iobref = iobref_new ();          if (iobref == NULL) { -                gf_log (GF_NLM, GF_LOG_ERROR, "Failed to get iobref"); +                gf_msg (GF_NLM, GF_LOG_ERROR, ENOMEM, NFS_MSG_NO_MEMORY, +                        "Failed to get iobref");                  goto ret;          }          ret = iobref_add (iobref, iobuf);          if (ret) { -                gf_log (GF_NLM, GF_LOG_ERROR, "Failed to add iob to iobref"); +                gf_msg (GF_NLM, GF_LOG_ERROR, ENOMEM, NFS_MSG_NO_MEMORY, +                        "Failed to add iob to iobref");                  goto ret;          } @@ -1118,7 +1154,8 @@ nlm4svc_send_granted (nfs3_call_state_t *cs)                                 NULL, 0, NULL);          if (ret < 0) { -                gf_log (GF_NLM, GF_LOG_ERROR, "rpc_clnt_submit error"); +                gf_msg (GF_NLM, GF_LOG_ERROR, -ret, NFS_MSG_RPC_CLNT_ERROR, +                        "rpc_clnt_submit error");                  goto ret;          }  ret: @@ -1229,7 +1266,8 @@ nlm_dec_transit_count (fd_t *fd, char *caller_name)          }          if (!nlmclnt_found) { -                gf_log (GF_NLM, GF_LOG_ERROR, "nlmclnt not found"); +                gf_msg (GF_NLM, GF_LOG_ERROR, 0, NFS_MSG_NLMCLNT_NOT_FOUND, +                        "nlmclnt not found");                  nlmclnt = NULL;                  goto ret;          } @@ -1270,7 +1308,8 @@ nlm_search_and_add (fd_t *fd, char *caller_name)          }          if (!nlmclnt_found) { -                gf_log (GF_NLM, GF_LOG_ERROR, "nlmclnt not found"); +                gf_msg (GF_NLM, GF_LOG_ERROR, 0, NFS_MSG_NLMCLNT_NOT_FOUND, +                        "nlmclnt not found");                  nlmclnt = NULL;                  goto ret;          } @@ -1373,7 +1412,8 @@ nlm4_lock_fd_resume (void *carg)  nlm4err:          if (ret < 0) {                  stat = nlm4_errno_to_nlm4stat (-ret); -                gf_log (GF_NLM, GF_LOG_ERROR, "unable to call lk()"); +                gf_msg (GF_NLM, GF_LOG_ERROR, stat, NFS_MSG_LOCK_FAIL, +                        "unable to call lk()");                  nlm4_generic_reply (cs->req, cs->args.nlm4_lockargs.cookie,                                      stat);                  nfs3_call_state_wipe (cs); @@ -1399,7 +1439,8 @@ nlm4_lock_resume (void *carg)  nlm4err:          if (ret < 0) { -                gf_log (GF_NLM, GF_LOG_ERROR, "unable to open and resume"); +                gf_msg (GF_NLM, GF_LOG_ERROR, -ret, NFS_MSG_OPEN_FAIL, +                        "unable to open and resume");                  stat = nlm4_errno_to_nlm4stat (-ret);                  nlm4_generic_reply (cs->req, cs->args.nlm4_lockargs.cookie,                                      stat); @@ -1431,7 +1472,8 @@ nlm4svc_lock_common (rpcsvc_request_t *req, int mon)          nlm4_prep_nlm4_lockargs (&cs->args.nlm4_lockargs, &cs->lockfh,                                   &cs->lkowner, cs->cookiebytes);          if (xdr_to_nlm4_lockargs(req->msg[0], &cs->args.nlm4_lockargs) <= 0) { -                gf_log (GF_NLM, GF_LOG_ERROR, "Error decoding args"); +                gf_msg (GF_NLM, GF_LOG_ERROR, errno, NFS_MSG_ARGS_DECODE_ERROR, +                        "Error decoding args");                  rpcsvc_request_seterr (req, GARBAGE_ARGS);                  goto rpcerr;          } @@ -1442,7 +1484,8 @@ nlm4svc_lock_common (rpcsvc_request_t *req, int mon)          nlm4_map_fh_to_volume (cs->nfs3state, fh, req, vol, stat, nlm4err);          if (nlm_grace_period && !cs->args.nlm4_lockargs.reclaim) { -                gf_log (GF_NLM, GF_LOG_WARNING, "NLM in grace period"); +                gf_msg (GF_NLM, GF_LOG_WARNING, 0, NFS_MSG_NLM_GRACE_PERIOD, +                        "NLM in grace period");                  stat = nlm4_denied_grace_period;                  nlm4_generic_reply (req, cs->args.nlm4_unlockargs.cookie, stat);                  nfs3_call_state_wipe (cs); @@ -1460,7 +1503,8 @@ nlm4svc_lock_common (rpcsvc_request_t *req, int mon)  nlm4err:          if (ret < 0) { -                gf_log (GF_NLM, GF_LOG_ERROR, "unable to resolve and resume"); +                gf_msg (GF_NLM, GF_LOG_ERROR, -ret, NFS_MSG_RESOLVE_ERROR, +                        "unable to resolve and resume");                  nlm4_generic_reply (cs->req, cs->args.nlm4_lockargs.cookie,                                      stat);                  nfs3_call_state_wipe (cs); @@ -1548,19 +1592,22 @@ nlm4_cancel_resume (void *carg)          nlmclnt = nlm_get_uniq (cs->args.nlm4_cancargs.alock.caller_name);          if (nlmclnt == NULL) { -                gf_log (GF_NLM, GF_LOG_ERROR, "nlm_get_uniq() returned NULL"); +                gf_msg (GF_NLM, GF_LOG_ERROR, ENOLCK, NFS_MSG_NO_MEMORY, +                        "nlm_get_uniq() returned NULL");                  goto nlm4err;          }          cs->fd = fd_lookup_uint64 (cs->resolvedloc.inode, (uint64_t)nlmclnt);          if (cs->fd == NULL) { -                gf_log (GF_NLM, GF_LOG_ERROR, "fd_lookup_uint64 retrned NULL"); +                gf_msg (GF_NLM, GF_LOG_ERROR, errno, NFS_MSG_FD_LOOKUP_NULL, +                        "fd_lookup_uint64 retrned NULL");                  goto nlm4err;          }          ret = nlm4_cancel_fd_resume (cs);  nlm4err:          if (ret < 0) { -                gf_log (GF_NLM, GF_LOG_WARNING, "unable to unlock_fd_resume()"); +                gf_msg (GF_NLM, GF_LOG_WARNING, -ret, NFS_MSG_LOCK_FAIL, +                        "unable to unlock_fd_resume()");                  stat = nlm4_errno_to_nlm4stat (-ret);                  nlm4_generic_reply (cs->req, cs->args.nlm4_cancargs.cookie,                                      stat); @@ -1593,7 +1640,8 @@ nlm4svc_cancel (rpcsvc_request_t *req)          nlm4_prep_nlm4_cancargs (&cs->args.nlm4_cancargs, &fh, &cs->lkowner,                                   cs->cookiebytes);          if (xdr_to_nlm4_cancelargs(req->msg[0], &cs->args.nlm4_cancargs) <= 0) { -                gf_log (GF_NLM, GF_LOG_ERROR, "Error decoding args"); +                gf_msg (GF_NLM, GF_LOG_ERROR, errno, NFS_MSG_ARGS_DECODE_ERROR, +                        "Error decoding args");                  rpcsvc_request_seterr (req, GARBAGE_ARGS);                  goto rpcerr;          } @@ -1602,7 +1650,8 @@ nlm4svc_cancel (rpcsvc_request_t *req)          nlm4_map_fh_to_volume (cs->nfs3state, fh, req, vol, stat, nlm4err);          if (nlm_grace_period) { -                gf_log (GF_NLM, GF_LOG_WARNING, "NLM in grace period"); +                gf_msg (GF_NLM, GF_LOG_WARNING, 0, NFS_MSG_NLM_GRACE_PERIOD, +                        "NLM in grace period");                  stat = nlm4_denied_grace_period;                  nlm4_generic_reply (req, cs->args.nlm4_unlockargs.cookie, stat);                  nfs3_call_state_wipe (cs); @@ -1617,7 +1666,8 @@ nlm4svc_cancel (rpcsvc_request_t *req)  nlm4err:          if (ret < 0) { -                gf_log (GF_NLM, GF_LOG_ERROR, "unable to resolve and resume"); +                gf_msg (GF_NLM, GF_LOG_ERROR, -ret, NFS_MSG_RESOLVE_ERROR, +                        "unable to resolve and resume");                  nlm4_generic_reply (cs->req, cs->args.nlm4_cancargs.cookie,                                      stat);                  nfs3_call_state_wipe (cs); @@ -1694,21 +1744,23 @@ nlm4_unlock_resume (void *carg)          nlmclnt = nlm_get_uniq (cs->args.nlm4_unlockargs.alock.caller_name);          if (nlmclnt == NULL) {                  stat = nlm4_granted; -                gf_log (GF_NLM, GF_LOG_WARNING, "nlm_get_uniq() returned NULL"); +                gf_msg (GF_NLM, GF_LOG_WARNING, ENOLCK, NFS_MSG_NO_MEMORY, +                        "nlm_get_uniq() returned NULL");                  goto nlm4err;          }          cs->fd = fd_lookup_uint64 (cs->resolvedloc.inode, (uint64_t)nlmclnt);          if (cs->fd == NULL) {                  stat = nlm4_granted; -                gf_log (GF_NLM, GF_LOG_WARNING, "fd_lookup_uint64() returned " -                        "NULL"); +                gf_msg (GF_NLM, GF_LOG_WARNING, 0, NFS_MSG_FD_LOOKUP_NULL, +                        "fd_lookup_uint64() returned NULL");                  goto nlm4err;          }          ret = nlm4_unlock_fd_resume (cs);  nlm4err:          if (ret < 0) { -                gf_log (GF_NLM, GF_LOG_WARNING, "unable to unlock_fd_resume"); +                gf_msg (GF_NLM, GF_LOG_WARNING, -ret, NFS_MSG_LOCK_FAIL, +                        "unable to unlock_fd_resume");                  stat = nlm4_errno_to_nlm4stat (-ret);                  nlm4_generic_reply (cs->req, cs->args.nlm4_unlockargs.cookie,                                      stat); @@ -1742,7 +1794,8 @@ nlm4svc_unlock (rpcsvc_request_t *req)                                     cs->cookiebytes);          if (xdr_to_nlm4_unlockargs(req->msg[0], &cs->args.nlm4_unlockargs) <= 0)          { -                gf_log (GF_NLM, GF_LOG_ERROR, "Error decoding args"); +                gf_msg (GF_NLM, GF_LOG_ERROR, errno, NFS_MSG_ARGS_DECODE_ERROR, +                        "Error decoding args");                  rpcsvc_request_seterr (req, GARBAGE_ARGS);                  goto rpcerr;          } @@ -1751,7 +1804,8 @@ nlm4svc_unlock (rpcsvc_request_t *req)          nlm4_map_fh_to_volume (cs->nfs3state, fh, req, vol, stat, nlm4err);          if (nlm_grace_period) { -                gf_log (GF_NLM, GF_LOG_WARNING, "NLM in grace period"); +                gf_msg (GF_NLM, GF_LOG_WARNING, 0, NFS_MSG_NLM_GRACE_PERIOD, +                        "NLM in grace period");                  stat = nlm4_denied_grace_period;                  nlm4_generic_reply (req, cs->args.nlm4_unlockargs.cookie, stat);                  nfs3_call_state_wipe (cs); @@ -1768,7 +1822,8 @@ nlm4svc_unlock (rpcsvc_request_t *req)  nlm4err:          if (ret < 0) { -                gf_log (GF_NLM, GF_LOG_ERROR, "unable to resolve and resume"); +                gf_msg (GF_NLM, GF_LOG_ERROR, -ret, NFS_MSG_RESOLVE_ERROR, +                        "unable to resolve and resume");                  nlm4_generic_reply (req, cs->args.nlm4_unlockargs.cookie, stat);                  nfs3_call_state_wipe (cs);                  return 0; @@ -1834,7 +1889,8 @@ nlm4_add_share_to_inode (nlm_share_t *share)                  ictx = GF_CALLOC (1, sizeof (struct nfs_inode_ctx),                                    gf_nfs_mt_inode_ctx);                  if (!ictx ) { -                        gf_log (this->name, GF_LOG_ERROR, +                        gf_msg (this->name, GF_LOG_ERROR, ENOMEM, +                                NFS_MSG_NO_MEMORY,                                  "could not allocate nfs inode ctx");                          ret = -1;                          goto out; @@ -1846,7 +1902,8 @@ nlm4_add_share_to_inode (nlm_share_t *share)                  ret = inode_ctx_put (inode, this, (uint64_t)ictx);                  if (ret) { -                        gf_log (this->name, GF_LOG_ERROR, +                        gf_msg (this->name, GF_LOG_ERROR, 0, +                                NFS_MSG_SHARE_LIST_STORE_FAIL,                                  "could not store share list");                          goto out;                  } @@ -1922,7 +1979,8 @@ nlm4_create_share_reservation (nfs3_call_state_t *cs)          inode = inode_ref (cs->resolvedloc.inode);          if (!inode) { -                gf_log (GF_NLM, GF_LOG_ERROR, "inode not found"); +                gf_msg (GF_NLM, GF_LOG_ERROR, 0, NFS_MSG_INODE_NOT_FOUND, +                        "inode not found");                  goto out;          } @@ -1930,7 +1988,8 @@ nlm4_create_share_reservation (nfs3_call_state_t *cs)          if (!client) {                  /* DO NOT add client. the client is supposed                     to be here, since nlm4svc_share adds it */ -                gf_log (GF_NLM, GF_LOG_ERROR, "client not found"); +                gf_msg (GF_NLM, GF_LOG_ERROR, 0, NFS_MSG_CLIENT_NOT_FOUND, +                        "client not found");                  goto out;          } @@ -2018,7 +2077,8 @@ nlm4svc_share (rpcsvc_request_t *req)          if (xdr_to_nlm4_shareargs (req->msg[0],                                     &cs->args.nlm4_shareargs) <= 0) { -                gf_log (GF_NLM, GF_LOG_ERROR, "Error decoding SHARE args"); +                gf_msg (GF_NLM, GF_LOG_ERROR, errno, NFS_MSG_ARGS_DECODE_ERROR, +                        "Error decoding SHARE args");                  rpcsvc_request_seterr (req, GARBAGE_ARGS);                  goto rpcerr;          } @@ -2029,7 +2089,7 @@ nlm4svc_share (rpcsvc_request_t *req)                                 vol, stat, nlm4err);          if (nlm_grace_period && !cs->args.nlm4_shareargs.reclaim) { -                gf_log (GF_NLM, GF_LOG_DEBUG, "NLM in grace period"); +                gf_msg_debug (GF_NLM, 0, "NLM in grace period");                  stat = nlm4_denied_grace_period;                  nlm4_share_reply (cs, stat);                  nfs3_call_state_wipe (cs); @@ -2046,7 +2106,8 @@ nlm4svc_share (rpcsvc_request_t *req)   nlm4err:          if (ret < 0) { -                gf_log (GF_NLM, GF_LOG_ERROR, "SHARE call failed"); +                gf_msg (GF_NLM, GF_LOG_ERROR, -ret, NFS_MSG_SHARE_CALL_FAIL, +                        "SHARE call failed");                  nlm4_share_reply (cs, stat);                  nfs3_call_state_wipe (cs);                  return 0; @@ -2083,14 +2144,14 @@ nlm4_remove_share_reservation (nfs3_call_state_t *cs)          client = __nlm_get_uniq (caller);          if (!client) { -                gf_log (GF_NLM, GF_LOG_ERROR, +                gf_msg (GF_NLM, GF_LOG_ERROR, 0, NFS_MSG_CLIENT_NOT_FOUND,                          "client not found: %s", caller);                  goto out;          }          inode = cs->resolvedloc.inode;          if (!inode) { -                gf_log (GF_NLM, GF_LOG_ERROR, +                gf_msg (GF_NLM, GF_LOG_ERROR, 0, NFS_MSG_INODE_NOT_FOUND,                          "inode not found: client: %s", caller);                  goto out;          } @@ -2098,7 +2159,8 @@ nlm4_remove_share_reservation (nfs3_call_state_t *cs)          this = THIS;          ret = inode_ctx_get (inode, this, &ctx);          if (ret) { -                gf_log (GF_NLM, GF_LOG_ERROR, +                gf_msg (GF_NLM, GF_LOG_ERROR, 0, +                        NFS_MSG_INODE_SHARES_NOT_FOUND,                          "no shares found for inode:"                          "gfid: %s; client: %s",                          inode->gfid, caller); @@ -2183,7 +2245,8 @@ nlm4svc_unshare (rpcsvc_request_t *req)          if (xdr_to_nlm4_shareargs (req->msg[0],                                     &cs->args.nlm4_shareargs) <= 0) { -                gf_log (GF_NLM, GF_LOG_ERROR, "Error decoding UNSHARE args"); +                gf_msg (GF_NLM, GF_LOG_ERROR, errno, NFS_MSG_ARGS_DECODE_ERROR, +                        "Error decoding UNSHARE args");                  rpcsvc_request_seterr (req, GARBAGE_ARGS);                  goto rpcerr;          } @@ -2194,7 +2257,7 @@ nlm4svc_unshare (rpcsvc_request_t *req)                                 vol, stat, nlm4err);          if (nlm_grace_period && !cs->args.nlm4_shareargs.reclaim) { -                gf_log (GF_NLM, GF_LOG_DEBUG, "NLM in grace period"); +                gf_msg_debug (GF_NLM, 0, "NLM in grace period");                  stat = nlm4_denied_grace_period;                  nlm4_share_reply (cs, stat);                  nfs3_call_state_wipe (cs); @@ -2210,7 +2273,8 @@ nlm4svc_unshare (rpcsvc_request_t *req)   nlm4err:          if (ret < 0) { -                gf_log (GF_NLM, GF_LOG_ERROR, "UNSHARE call failed"); +                gf_msg (GF_NLM, GF_LOG_ERROR, -ret, NFS_MSG_UNSHARE_CALL_FAIL, +                        "UNSHARE call failed");                  nlm4_share_reply (cs, stat);                  ret = 0;                  return 0; @@ -2234,8 +2298,7 @@ nlm4_free_all_shares (char *caller_name)          client = __nlm_get_uniq (caller_name);          if (!client) { -                gf_log (GF_NLM, GF_LOG_DEBUG, -                        "client not found: %s", caller_name); +                gf_msg_debug (GF_NLM, 0, "client not found: %s", caller_name);                  goto out;          } @@ -2269,7 +2332,8 @@ nlm4svc_free_all (rpcsvc_request_t *req)          if (xdr_to_nlm4_freeallargs (req->msg[0],                                       &cs->args.nlm4_freeallargs) <= 0) { -                gf_log (GF_NLM, GF_LOG_ERROR, "Error decoding FREE_ALL args"); +                gf_msg (GF_NLM, GF_LOG_ERROR, errno, NFS_MSG_ARGS_DECODE_ERROR, +                        "Error decoding FREE_ALL args");                  rpcsvc_request_seterr (req, GARBAGE_ARGS);                  goto err;          } @@ -2285,8 +2349,7 @@ nlm4svc_free_all (rpcsvc_request_t *req)   err:          nfs3_call_state_wipe (cs);          if (ret) -                gf_log (GF_NLM, GF_LOG_DEBUG, -                        "error in free all; stat: %d", stat); +                gf_msg_debug (GF_NLM, 0, "error in free all; stat: %d", stat);          return ret;  } @@ -2294,9 +2357,8 @@ nlm4svc_free_all (rpcsvc_request_t *req)  void  nlm4svc_sm_notify (struct nlm_sm_status *status)  { -        gf_log (GF_NLM, GF_LOG_INFO, "sm_notify: %s, state: %d", -                status->mon_name, -                status->state); +        gf_msg (GF_NLM, GF_LOG_INFO, 0, NFS_MSG_SM_NOTIFY, "sm_notify: " +                "%s, state: %d", status->mon_name, status->state);          nlm_cleanup_fds (status->mon_name);  } @@ -2378,7 +2440,8 @@ nlm4svc_init(xlator_t *nfsx)          ns = nfs->nfs3state;          if (!ns) { -                gf_log (GF_NLM, GF_LOG_ERROR, "NLM4 init failed"); +                gf_msg (GF_NLM, GF_LOG_ERROR, EINVAL, NFS_MSG_NLM_INIT_FAIL, +                        "NLM4 init failed");                  goto err;          }          nlm4prog.private = ns; @@ -2395,32 +2458,38 @@ nlm4svc_init(xlator_t *nfsx)                  goto err;          ret = dict_set_str (options, "transport-type", "socket");          if (ret == -1) { -                gf_log (GF_NLM, GF_LOG_ERROR, "dict_set_str error"); +                gf_msg (GF_NLM, GF_LOG_ERROR, errno, +                        NFS_MSG_DICT_SET_FAILED, "dict_set_str error");                  goto err;          }          if (nfs->allow_insecure) {                  ret = dict_set_str (options, "rpc-auth-allow-insecure", "on");                  if (ret == -1) { -                        gf_log (GF_NLM, GF_LOG_ERROR, "dict_set_str error"); +                        gf_msg (GF_NLM, GF_LOG_ERROR, errno, +                                NFS_MSG_DICT_SET_FAILED, "dict_set_str error");                          goto err;                  }                  ret = dict_set_str (options, "rpc-auth.ports.insecure", "on");                  if (ret == -1) { -                        gf_log (GF_NLM, GF_LOG_ERROR, "dict_set_str error"); +                        gf_msg (GF_NLM, GF_LOG_ERROR, errno, +                                NFS_MSG_DICT_SET_FAILED, "dict_set_str error");                          goto err;                  }          }          ret = dict_set_str (options, "transport.address-family", "inet");          if (ret == -1) { -                gf_log (GF_NLM, GF_LOG_ERROR, "dict_set_str error"); +                gf_msg (GF_NLM, GF_LOG_ERROR, errno, NFS_MSG_DICT_SET_FAILED, +                        "dict_set_str error");                  goto err;          }          ret = rpcsvc_create_listeners (nfs->rpcsvc, options, "NLM");          if (ret == -1) { -                gf_log (GF_NLM, GF_LOG_ERROR, "Unable to create listeners"); +                gf_msg (GF_NLM, GF_LOG_ERROR, errno, +                        NFS_MSG_LISTENERS_CREATE_FAIL, +                        "Unable to create listeners");                  dict_unref (options);                  goto err;          } @@ -2443,7 +2512,8 @@ nlm4svc_init(xlator_t *nfsx)          */          ret = unlink (GF_SM_NOTIFY_PIDFILE);          if (ret == -1 && errno != ENOENT) { -                gf_log (GF_NLM, GF_LOG_ERROR, "unable to unlink %s: %d", +                gf_msg (GF_NLM, GF_LOG_ERROR, errno, NFS_MSG_UNLINK_ERROR, +                        "unable to unlink %s: %d",                          GF_SM_NOTIFY_PIDFILE, errno);                  goto err;          } @@ -2459,7 +2529,8 @@ nlm4svc_init(xlator_t *nfsx)          if (pidfile) {                  ret = fscanf (pidfile, "%d", &pid);                  if (ret <= 0) { -                        gf_log (GF_NLM, GF_LOG_WARNING, "unable to get pid of " +                        gf_msg (GF_NLM, GF_LOG_WARNING, errno, +                                NFS_MSG_GET_PID_FAIL, "unable to get pid of "                                  "rpc.statd from %s ", GF_RPC_STATD_PIDFILE);                          ret = runcmd (KILLALL_CMD, "-9", "rpc.statd", NULL);                  } else @@ -2467,8 +2538,9 @@ nlm4svc_init(xlator_t *nfsx)                  fclose (pidfile);          } else { -                gf_log (GF_NLM, GF_LOG_WARNING, "opening %s of " -                        "rpc.statd failed (%s)", pid_file, strerror (errno)); +                gf_msg (GF_NLM, GF_LOG_WARNING, errno, NFS_MSG_OPEN_FAIL, +                        "opening %s of rpc.statd failed (%s)", +                        pid_file, strerror (errno));                  /* if ret == -1, do nothing - case either statd was not                   * running or was running in valgrind mode                   */ @@ -2477,14 +2549,15 @@ nlm4svc_init(xlator_t *nfsx)          ret = unlink (GF_RPC_STATD_PIDFILE);          if (ret == -1 && errno != ENOENT) { -                gf_log (GF_NLM, GF_LOG_ERROR, "unable to unlink %s", pid_file); +                gf_msg (GF_NLM, GF_LOG_ERROR, errno, NFS_MSG_UNLINK_ERROR, +                        "unable to unlink %s", pid_file);                  goto err;          }          ret = runcmd (nfs->rpc_statd, NULL);          if (ret == -1) { -                gf_log (GF_NLM, GF_LOG_ERROR, "unable to start %s", -                        nfs->rpc_statd); +                gf_msg (GF_NLM, GF_LOG_ERROR, errno, NFS_MSG_START_ERROR, +                        "unable to start %s", nfs->rpc_statd);                  goto err;          } diff --git a/xlators/nfs/server/src/nlmcbk_svc.c b/xlators/nfs/server/src/nlmcbk_svc.c index 20d3728d031..badbd088f3d 100644 --- a/xlators/nfs/server/src/nlmcbk_svc.c +++ b/xlators/nfs/server/src/nlmcbk_svc.c @@ -15,6 +15,7 @@  #include "nlm4.h"  #include "logging.h" +#include "nfs-messages.h"  #include <stdio.h>  #include <stdlib.h>  #include <rpc/pmap_clnt.h> @@ -72,7 +73,8 @@ nlmcbk_program_0(struct svc_req *rqstp, register SVCXPRT *transp)  	}  	if (!svc_freeargs (transp, (xdrproc_t) _xdr_argument, (caddr_t) &argument)) { -		gf_log (GF_NLM, GF_LOG_ERROR, "unable to free arguments"); +		gf_msg (GF_NLM, GF_LOG_ERROR, 0, NFS_MSG_ARG_FREE_FAIL, +                        "unable to free arguments");                  return;  	}  	return; @@ -86,31 +88,39 @@ nsm_thread (void *argv)          ret = pmap_unset (NLMCBK_PROGRAM, NLMCBK_V1);          if (ret == 0) { -                gf_log (GF_NLM, GF_LOG_ERROR, "pmap_unset failed"); +                gf_msg (GF_NLM, GF_LOG_ERROR, 0, NFS_MSG_PMAP_UNSET_FAIL, +                        "pmap_unset failed");                  return NULL;          }          transp = svcudp_create(RPC_ANYSOCK);  	if (transp == NULL) { -		gf_log (GF_NLM, GF_LOG_ERROR, "cannot create udp service."); +		gf_msg (GF_NLM, GF_LOG_ERROR, errno, NFS_MSG_UDP_SERV_FAIL, +                        "cannot create udp service.");                  return NULL;  	}  	if (!svc_register(transp, NLMCBK_PROGRAM, NLMCBK_V1, nlmcbk_program_0, IPPROTO_UDP)) { -		gf_log (GF_NLM, GF_LOG_ERROR, "unable to register (NLMCBK_PROGRAM, NLMCBK_V0, udp)."); +		gf_msg (GF_NLM, GF_LOG_ERROR, 0, NFS_MSG_REG_NLMCBK_FAIL, +                        "unable to register (NLMCBK_PROGRAM, " +                        "NLMCBK_V0, udp).");                  return NULL;  	}  	transp = svctcp_create(RPC_ANYSOCK, 0, 0);  	if (transp == NULL) { -		gf_log (GF_NLM, GF_LOG_ERROR, "cannot create tcp service."); +		gf_msg (GF_NLM, GF_LOG_ERROR, errno, NFS_MSG_TCP_SERV_FAIL, +                        "cannot create tcp service.");                  return NULL;  	}  	if (!svc_register(transp, NLMCBK_PROGRAM, NLMCBK_V1, nlmcbk_program_0, IPPROTO_TCP)) { -		gf_log (GF_NLM, GF_LOG_ERROR, "unable to register (NLMCBK_PROGRAM, NLMCBK_V0, tcp)."); +		gf_msg (GF_NLM, GF_LOG_ERROR, 0, NFS_MSG_REG_NLMCBK_FAIL, +                        "unable to register (NLMCBK_PROGRAM, " +                        "NLMCBK_V0, tcp).");                  return NULL;  	}  	svc_run (); -	gf_log (GF_NLM, GF_LOG_ERROR, "svc_run returned"); +	gf_msg (GF_NLM, GF_LOG_ERROR, 0, NFS_MSG_SVC_RUN_RETURNED, +                "svc_run returned");          return NULL;  	/* NOTREACHED */  }  | 
