diff options
| -rw-r--r-- | xlators/nfs/server/src/nfs-messages.h | 11 | ||||
| -rw-r--r-- | xlators/nfs/server/src/nfs.c | 356 | ||||
| -rw-r--r-- | xlators/nfs/server/src/nfs3.c | 593 | 
3 files changed, 585 insertions, 375 deletions
diff --git a/xlators/nfs/server/src/nfs-messages.h b/xlators/nfs/server/src/nfs-messages.h index 9c634b22f55..77b85649c56 100644 --- a/xlators/nfs/server/src/nfs-messages.h +++ b/xlators/nfs/server/src/nfs-messages.h @@ -45,7 +45,7 @@   */  #define GLFS_NFS_BASE                   GLFS_MSGID_COMP_NFS -#define GLFS_NFS_NUM_MESSAGES           201 +#define GLFS_NFS_NUM_MESSAGES           202  #define GLFS_MSGID_END                  (GLFS_NFS_BASE + GLFS_NFS_NUM_MESSAGES + 1)  /* Messages with message IDs */ @@ -1654,6 +1654,15 @@   *   */ +#define NFS_MSG_ENABLE_THROTTLE_FAIL    (GLFS_NFS_BASE + 202) +/*! + * @messageid + * @diagnosis + * @recommendedaction + * + */ + +  /*------------*/  #define glfs_msg_end_x GLFS_MSGID_END, "Invalid: End of messages" diff --git a/xlators/nfs/server/src/nfs.c b/xlators/nfs/server/src/nfs.c index 85af465ce7b..8b4bc75ea00 100644 --- a/xlators/nfs/server/src/nfs.c +++ b/xlators/nfs/server/src/nfs.c @@ -37,6 +37,7 @@  #include "rpc-drc.h"  #include "syscall.h"  #include "rpcsvc.h" +#include "nfs-messages.h"  #define OPT_SERVER_AUX_GIDS             "nfs.server-aux-gids"  #define OPT_SERVER_GID_CACHE_TIMEOUT    "nfs.server.aux-gid-timeout" @@ -69,8 +70,8 @@ nfs_init_version (xlator_t *this, nfs_version_initer_t init,          ret = nfs_add_initer (&nfs->versions, init, required);          if (ret == -1) { -                gf_log (GF_NFS, GF_LOG_ERROR, -                                "Failed to add protocol initializer"); +                gf_msg (GF_NFS, GF_LOG_ERROR, 0, NFS_MSG_PROT_INIT_ADD_FAIL, +                        "Failed to add protocol initializer");                  goto err;          } @@ -91,8 +92,8 @@ nfs_init_version (xlator_t *this, nfs_version_initer_t init,          /* program not added */          if (!found) { -                gf_log (GF_NFS, GF_LOG_ERROR, -                                "Program: %s NOT found", prog->progname); +                gf_msg (GF_NFS, GF_LOG_ERROR, 0, NFS_MSG_PGM_NOT_FOUND, +                        "Program: %s NOT found", prog->progname);                  goto err;          } @@ -100,12 +101,12 @@ nfs_init_version (xlator_t *this, nfs_version_initer_t init,          if (nfs->override_portnum)                  prog->progport = nfs->override_portnum; -        gf_log (GF_NFS, GF_LOG_DEBUG, "Starting program: %s", prog->progname); +        gf_msg_debug (GF_NFS, 0, "Starting program: %s", prog->progname);          ret = rpcsvc_program_register (nfs->rpcsvc, prog);          if (ret == -1) { -                gf_log (GF_NFS, GF_LOG_ERROR, "Program: %s init failed", -                                                      prog->progname); +                gf_msg (GF_NFS, GF_LOG_ERROR, 0, NFS_MSG_PGM_INIT_FAIL, +                        "Program: %s init failed", prog->progname);                  goto err;          } @@ -115,9 +116,8 @@ nfs_init_version (xlator_t *this, nfs_version_initer_t init,          ret = rpcsvc_program_register_portmap (prog, prog->progport);          if (ret == -1) { -                gf_log (GF_NFS, GF_LOG_ERROR, -                                "Program  %s registration failed", -                                prog->progname); +                gf_msg (GF_NFS, GF_LOG_ERROR, 0, NFS_MSG_PGM_REG_FAIL, +                        "Program  %s registration failed", prog->progname);                  goto err;          }          ret = 0; /* All well */ @@ -249,7 +249,8 @@ nfs_add_initer (struct list_head *list, nfs_version_initer_t init,          new = GF_CALLOC (1, sizeof (*new), gf_nfs_mt_nfs_initer_list);          if (!new) { -                gf_log (GF_NFS, GF_LOG_ERROR, "Memory allocation failed"); +                gf_msg (GF_NFS, GF_LOG_ERROR, ENOMEM, NFS_MSG_NO_MEMORY, +                        "Memory allocation failed");                  return -1;          } @@ -301,7 +302,7 @@ nfs_init_versions (struct nfs_state *nfs, xlator_t *this)          if ((!nfs) || (!this))                  return -1; -        gf_log (GF_NFS, GF_LOG_DEBUG, "Initing protocol versions"); +        gf_msg_debug (GF_NFS, 0, "Initing protocol versions");          versions = &nfs->versions;          list_for_each_entry_safe (version, tmp, versions, list) {                  if (!version->init) { @@ -318,23 +319,25 @@ nfs_init_versions (struct nfs_state *nfs, xlator_t *this)                  version->program = prog;                  if (nfs->override_portnum)                          prog->progport = nfs->override_portnum; -                gf_log (GF_NFS, GF_LOG_DEBUG, "Starting program: %s", +                gf_msg_debug (GF_NFS, 0, "Starting program: %s",                          prog->progname);                  ret = rpcsvc_program_register (nfs->rpcsvc, prog);                  if (ret == -1) { -                        gf_log (GF_NFS, GF_LOG_ERROR, "Program: %s init failed", -                                                      prog->progname); +                        gf_msg (GF_NFS, GF_LOG_ERROR, 0, +                                NFS_MSG_PGM_INIT_FAIL, +                                "Program: %s init failed", prog->progname);                          goto err;                  }                  if (nfs->register_portmap) {                          ret = rpcsvc_program_register_portmap (prog,                                                                 prog->progport);                          if (ret == -1) { -                                gf_log (GF_NFS, GF_LOG_ERROR, -                                        "%s program %s registration failed", +                                gf_msg (GF_NFS, GF_LOG_ERROR, 0, +                                        NFS_MSG_PGM_REG_FAIL, +                                        "%s program  %s registration failed",                                          version->required ? -                                                "Required" : "Optional", +                                        "Required" : "Optional",                                          prog->progname);                                  /* fatal error if the program is required */ @@ -359,30 +362,31 @@ nfs_add_all_initiators (struct nfs_state *nfs)          /* Add the initializers for all versions. */          ret = nfs_add_initer (&nfs->versions, mnt3svc_init, _gf_true);          if (ret == -1) { -                gf_log (GF_NFS, GF_LOG_ERROR, "Failed to add " -                                "MOUNT3 protocol initializer"); +                gf_msg (GF_NFS, GF_LOG_ERROR, 0, NFS_MSG_PROT_INIT_ADD_FAIL, +                        "Failed to add MOUNT3 protocol initializer");                  goto ret;          }          ret = nfs_add_initer (&nfs->versions, mnt1svc_init, _gf_true);          if (ret == -1) { -                gf_log (GF_NFS, GF_LOG_ERROR, "Failed to add " -                                "MOUNT1 protocol initializer"); +                gf_msg (GF_NFS, GF_LOG_ERROR, 0, NFS_MSG_PROT_INIT_ADD_FAIL, +                        "Failed to add MOUNT1 protocol initializer");                  goto ret;          }          ret = nfs_add_initer (&nfs->versions, nfs3svc_init, _gf_true);          if (ret == -1) { -                gf_log (GF_NFS, GF_LOG_ERROR, "Failed to add " -                                "NFS3 protocol initializer"); +                gf_msg (GF_NFS, GF_LOG_ERROR, 0, NFS_MSG_PROT_INIT_ADD_FAIL, +                        "Failed to add NFS3 protocol initializer");                  goto ret;          }          if (nfs->enable_nlm == _gf_true) {                  ret = nfs_add_initer (&nfs->versions, nlm4svc_init, _gf_false);                  if (ret == -1) { -                        gf_log (GF_NFS, GF_LOG_ERROR, "Failed to add protocol" -                                " initializer"); +                        gf_msg (GF_NFS, GF_LOG_ERROR, 0, +                                NFS_MSG_PROT_INIT_ADD_FAIL, +                                "Failed to add protocol initializer");                          goto ret;                  }          } @@ -390,8 +394,9 @@ nfs_add_all_initiators (struct nfs_state *nfs)          if (nfs->enable_acl == _gf_true) {                  ret = nfs_add_initer (&nfs->versions, acl3svc_init, _gf_false);                  if (ret == -1) { -                        gf_log (GF_NFS, GF_LOG_ERROR, "Failed to add " -                                "ACL protocol initializer"); +                        gf_msg (GF_NFS, GF_LOG_ERROR, 0, +                                NFS_MSG_PROT_INIT_ADD_FAIL, +                                "Failed to add ACL protocol initializer");                          goto ret;                  }          } @@ -439,7 +444,7 @@ nfs_subvolume_set_started (struct nfs_state *nfs, xlator_t *xl)          {                  for (;x < nfs->allsubvols; ++x) {                          if (nfs->initedxl[x] == xl) { -                                gf_log (GF_NFS, GF_LOG_DEBUG, +                                gf_msg_debug (GF_NFS, 0,                                          "Volume already started %s",                                          xl->name);                                  break; @@ -448,7 +453,7 @@ nfs_subvolume_set_started (struct nfs_state *nfs, xlator_t *xl)                          if (nfs->initedxl[x] == NULL) {                                  nfs->initedxl[x] = xl;                                  ++nfs->upsubvols; -                                gf_log (GF_NFS, GF_LOG_DEBUG, "Starting up: %s " +                                gf_msg_debug (GF_NFS, 0, "Starting up: %s "                                          ", vols started till now: %d", xl->name,                                          nfs->upsubvols);                                  goto unlock; @@ -469,13 +474,15 @@ nfs_start_subvol_lookup_cbk (call_frame_t *frame, void *cookie,                               struct iatt *postparent)  {          if (op_ret == -1) { -                gf_log (GF_NFS, GF_LOG_CRITICAL, "Failed to lookup root: %s", +                gf_msg (GF_NFS, GF_LOG_CRITICAL, op_errno, +                        NFS_MSG_LOOKUP_ROOT_FAIL, +                        "Failed to lookup root: %s",                          strerror (op_errno));                  goto err;          }          nfs_subvolume_set_started (this->private, ((xlator_t *)cookie)); -        gf_log (GF_NFS, GF_LOG_TRACE, "Started %s", ((xlator_t *)cookie)->name); +        gf_msg_trace (GF_NFS, 0, "Started %s", ((xlator_t *)cookie)->name);  err:          return 0;  } @@ -492,7 +499,7 @@ nfs_startup_subvolume (xlator_t *nfsx, xlator_t *xl)                  return -1;          if (nfs_subvolume_started (nfsx->private, xl)) { -                gf_log (GF_NFS,GF_LOG_TRACE, "Subvolume already started: %s", +                gf_msg_trace (GF_NFS, 0, "Subvolume already started: %s",                          xl->name);                  ret = 0;                  goto err; @@ -500,7 +507,9 @@ nfs_startup_subvolume (xlator_t *nfsx, xlator_t *xl)          ret = nfs_root_loc_fill (xl->itable, &rootloc);          if (ret == -1) { -                gf_log (GF_NFS, GF_LOG_CRITICAL, "Failed to init root loc"); +                gf_msg (GF_NFS, GF_LOG_CRITICAL, 0, +                        NFS_MSG_ROOT_LOC_INIT_FAIL, +                        "Failed to init root loc");                  goto err;          } @@ -509,8 +518,9 @@ nfs_startup_subvolume (xlator_t *nfsx, xlator_t *xl)                                nfs_start_subvol_lookup_cbk,                                (void *)nfsx->private);          if (ret < 0) { -                gf_log (GF_NFS, GF_LOG_CRITICAL, "Failed to lookup root: %s", -                        strerror (-ret)); +                gf_msg (GF_NFS, GF_LOG_CRITICAL, -ret, +                        NFS_MSG_LOOKUP_ROOT_FAIL, +                        "Failed to lookup root: %s", strerror (-ret));                  goto err;          } @@ -533,12 +543,14 @@ nfs_startup_subvolumes (xlator_t *nfsx)          nfs = nfsx->private;          cl = nfs->subvols;          while (cl) { -                gf_log (GF_NFS, GF_LOG_DEBUG, "Starting subvolume: %s", +                gf_msg_debug (GF_NFS, 0, "Starting subvolume: %s",                          cl->xlator->name);                  ret = nfs_startup_subvolume (nfsx, cl->xlator);                  if (ret == -1) { -                        gf_log (GF_NFS, GF_LOG_CRITICAL, "Failed to start-up " -                                "xlator: %s", cl->xlator->name); +                        gf_msg (GF_NFS, GF_LOG_CRITICAL, 0, +                                NFS_MSG_STARTUP_FAIL, +                                "Failed to start-up xlator: %s", +                                cl->xlator->name);                          goto err;                  }                  cl = cl->next; @@ -562,8 +574,8 @@ nfs_init_subvolume (struct nfs_state *nfs, xlator_t *xl)          lrusize = nfs->memfactor * GF_NFS_INODE_LRU_MULT;          xl->itable = inode_table_new (lrusize, xl);          if (!xl->itable) { -                gf_log (GF_NFS, GF_LOG_CRITICAL, "Failed to allocate " -                        "inode table"); +                gf_msg (GF_NFS, GF_LOG_CRITICAL, ENOMEM, NFS_MSG_NO_MEMORY, +                        "Failed to allocate inode table");                  goto err;          }          ret = 0; @@ -583,14 +595,15 @@ nfs_init_subvolumes (struct nfs_state *nfs, xlator_list_t *cl)          lrusize = nfs->memfactor * GF_NFS_INODE_LRU_MULT;          nfs->subvols = cl; -        gf_log (GF_NFS, GF_LOG_TRACE, "inode table lru: %d", lrusize); +        gf_msg_trace (GF_NFS, 0, "inode table lru: %d", lrusize);          while (cl) { -                gf_log (GF_NFS, GF_LOG_DEBUG, "Initing subvolume: %s", +                gf_msg_debug (GF_NFS, 0, "Initing subvolume: %s",                          cl->xlator->name);                  ret = nfs_init_subvolume (nfs, cl->xlator);                  if (ret == -1) { -                        gf_log (GF_NFS, GF_LOG_CRITICAL, "Failed to init " +                        gf_msg (GF_NFS, GF_LOG_CRITICAL, 0, +                                NFS_MSG_XLATOR_INIT_FAIL, "Failed to init "                                  "xlator: %s", cl->xlator->name);                          goto err;                  } @@ -602,12 +615,13 @@ nfs_init_subvolumes (struct nfs_state *nfs, xlator_list_t *cl)          nfs->initedxl = GF_CALLOC (svcount, sizeof (xlator_t *),                                     gf_nfs_mt_xlator_t );          if (!nfs->initedxl) { -                gf_log (GF_NFS, GF_LOG_ERROR, "Failed to allocated inited xls"); +                gf_msg (GF_NFS, GF_LOG_ERROR, ENOMEM, NFS_MSG_NO_MEMORY, +                        "Failed to allocated inited xls");                  ret = -1;                  goto err;          } -        gf_log (GF_NFS, GF_LOG_TRACE, "Inited volumes: %d", svcount); +        gf_msg_trace (GF_NFS, 0, "Inited volumes: %d", svcount);          nfs->allsubvols = svcount;          ret = 0;  err: @@ -647,7 +661,7 @@ nfs_user_create (nfs_user_t *newnfu, uid_t uid, gid_t gid, gid_t *auxgids,          newnfu->gids[0] = gid;          newnfu->ngrps = 1; -        gf_log (GF_NFS, GF_LOG_TRACE, "uid: %d, gid %d, gids: %d", uid, gid, +        gf_msg_trace (GF_NFS, 0, "uid: %d, gid %d, gids: %d", uid, gid,                  auxcount);          if (!auxgids) @@ -656,7 +670,7 @@ nfs_user_create (nfs_user_t *newnfu, uid_t uid, gid_t gid, gid_t *auxgids,          for (; y < auxcount; ++x,++y) {                  newnfu->gids[x] = auxgids[y];                  ++newnfu->ngrps; -                gf_log (GF_NFS, GF_LOG_TRACE, "gid: %d", auxgids[y]); +                gf_msg_trace (GF_NFS, 0, "gid: %d", auxgids[y]);          }          return 0; @@ -707,8 +721,8 @@ mem_acct_init (xlator_t *this)          ret = xlator_mem_acct_init (this, gf_nfs_mt_end + 1);          if (ret != 0) { -                gf_log(this->name, GF_LOG_ERROR, "Memory accounting init" -                                "failed"); +                gf_msg (this->name, GF_LOG_ERROR, ENOMEM, NFS_MSG_NO_MEMORY, +                        "Memory accounting init failed");                  return ret;          } @@ -730,7 +744,7 @@ nfs_init_state (xlator_t *this)                  return NULL;          if (!this->children) { -                gf_log (GF_NFS, GF_LOG_INFO, +                gf_msg (GF_NFS, GF_LOG_INFO, 0, NFS_MSG_NFS_MAN_DISABLE,                          "NFS is manually disabled: Exiting");                  /* Nothing for nfs process to do, exit cleanly */                  kill (getpid (), SIGTERM); @@ -738,7 +752,8 @@ nfs_init_state (xlator_t *this)          nfs = GF_CALLOC (1, sizeof (*nfs), gf_nfs_mt_nfs_state);          if (!nfs) { -                gf_log (GF_NFS, GF_LOG_ERROR, "memory allocation failed"); +                gf_msg (GF_NFS, GF_LOG_ERROR, ENOMEM, NFS_MSG_NO_MEMORY, +                        "memory allocation failed");                  return NULL;          } @@ -747,14 +762,16 @@ nfs_init_state (xlator_t *this)                  ret = dict_get_str (this->options, "nfs.mem-factor",                                      &optstr);                  if (ret < 0) { -                        gf_log (GF_NFS, GF_LOG_ERROR, "Failed to parse dict"); +                        gf_msg (GF_NFS, GF_LOG_ERROR, -ret, +                                NFS_MSG_DICT_GET_FAILED, +                                "Failed to parse dict");                          goto free_rpcsvc;                  }                  ret = gf_string2uint (optstr, &nfs->memfactor);                  if (ret < 0) { -                        gf_log (GF_NFS, GF_LOG_ERROR, "Failed to parse uint " -                                "string"); +                        gf_msg (GF_NFS, GF_LOG_ERROR, errno, NFS_MSG_PARSE_FAIL, +                                "Failed to parse uint string");                          goto free_rpcsvc;                  }          } @@ -763,8 +780,8 @@ nfs_init_state (xlator_t *this)          /* FIXME: Really saddens me to see this as xlator wide. */          nfs->foppool = mem_pool_new (struct nfs_fop_local, fopspoolsize);          if (!nfs->foppool) { -                gf_log (GF_NFS, GF_LOG_CRITICAL, "Failed to allocate fops " -                        "local pool"); +                gf_msg (GF_NFS, GF_LOG_CRITICAL, ENOMEM, NFS_MSG_NO_MEMORY, +                        "Failed to allocate fops local pool");                  goto free_rpcsvc;          } @@ -773,14 +790,16 @@ nfs_init_state (xlator_t *this)                  ret = dict_get_str (this->options, "nfs.dynamic-volumes",                                      &optstr);                  if (ret < 0) { -                        gf_log (GF_NFS, GF_LOG_ERROR, "Failed to parse dict"); +                        gf_msg (GF_NFS, GF_LOG_ERROR, -ret, +                                NFS_MSG_DICT_GET_FAILED, +                                "Failed to parse dict");                          goto free_foppool;                  }                  ret = gf_string2boolean (optstr, &boolt);                  if (ret < 0) { -                        gf_log (GF_NFS, GF_LOG_ERROR, "Failed to parse bool " -                                "string"); +                        gf_msg (GF_NFS, GF_LOG_ERROR, errno, NFS_MSG_PARSE_FAIL, +                                "Failed to parse bool string");                          goto free_foppool;                  } @@ -791,14 +810,16 @@ nfs_init_state (xlator_t *this)          nfs->enable_nlm = _gf_true;          ret = dict_get_str_boolean (this->options, "nfs.nlm", _gf_true);          if (ret == _gf_false) { -                gf_log (GF_NFS, GF_LOG_INFO, "NLM is manually disabled"); +                gf_msg (GF_NFS, GF_LOG_INFO, 0, NFS_MSG_NLM_MAN_DISABLE, +                        "NLM is manually disabled");                  nfs->enable_nlm = _gf_false;          }          nfs->enable_acl = _gf_true;          ret = dict_get_str_boolean (this->options, "nfs.acl", _gf_true);          if (ret == _gf_false) { -                gf_log (GF_NFS, GF_LOG_INFO, "ACL is manually disabled"); +                gf_msg (GF_NFS, GF_LOG_INFO, 0, NFS_MSG_ACL_MAN_DISABLE, +                        "ACL is manually disabled");                  nfs->enable_acl = _gf_false;          } @@ -807,14 +828,15 @@ nfs_init_state (xlator_t *this)                  ret = dict_get_str (this->options, "nfs.enable-ino32",                                      &optstr);                  if (ret < 0) { -                        gf_log (GF_NFS, GF_LOG_ERROR, "Failed to parse dict"); +                        gf_msg (GF_NFS, GF_LOG_ERROR, -ret, NFS_MSG_PARSE_FAIL, +                                "Failed to parse dict");                          goto free_foppool;                  }                  ret = gf_string2boolean (optstr, &boolt);                  if (ret < 0) { -                        gf_log (GF_NFS, GF_LOG_ERROR, "Failed to parse bool " -                                "string"); +                        gf_msg (GF_NFS, GF_LOG_ERROR, errno, NFS_MSG_PARSE_FAIL, +                                "Failed to parse bool string");                          goto free_foppool;                  } @@ -826,14 +848,15 @@ nfs_init_state (xlator_t *this)                  ret = dict_get_str (this->options, "nfs.port",                                      &optstr);                  if (ret < 0) { -                        gf_log (GF_NFS, GF_LOG_ERROR, "Failed to parse dict"); +                        gf_msg (GF_NFS, GF_LOG_ERROR, -ret, NFS_MSG_PARSE_FAIL, +                                "Failed to parse dict");                          goto free_foppool;                  }                  ret = gf_string2uint (optstr, &nfs->override_portnum);                  if (ret < 0) { -                        gf_log (GF_NFS, GF_LOG_ERROR, "Failed to parse uint " -                                "string"); +                        gf_msg (GF_NFS, GF_LOG_ERROR, errno, NFS_MSG_PARSE_FAIL, +                                "Failed to parse uint string");                          goto free_foppool;                  }          } @@ -845,13 +868,16 @@ nfs_init_state (xlator_t *this)                  else                          ret = gf_asprintf (&optstr, "%d", GF_NFS3_PORT);                  if (ret == -1) { -                        gf_log (GF_NFS, GF_LOG_ERROR, "failed mem-allocation"); +                        gf_msg (GF_NFS, GF_LOG_ERROR, ENOMEM, NFS_MSG_NO_MEMORY, +                                "failed mem-allocation");                          goto free_foppool;                  }                  ret = dict_set_dynstr (this->options,                                         "transport.socket.listen-port", optstr);                  if (ret == -1) { -                        gf_log (GF_NFS, GF_LOG_ERROR, "dict_set_dynstr error"); +                        gf_msg (GF_NFS, GF_LOG_ERROR, 0, +                                NFS_MSG_DICT_SET_FAILED, +                                "dict_set_dynstr error");                          goto free_foppool;                  }          } @@ -861,7 +887,8 @@ nfs_init_state (xlator_t *this)           */          ret = dict_set_str (this->options, "transport-type", "socket");          if (ret == -1) { -                gf_log (GF_NFS, GF_LOG_ERROR, "dict_set_str error"); +                gf_msg (GF_NFS, GF_LOG_ERROR, 0, NFS_MSG_DICT_SET_FAILED, +                        "dict_set_str error");                  goto free_foppool;          } @@ -869,13 +896,15 @@ nfs_init_state (xlator_t *this)          if (dict_get(this->options, "nfs.mount-udp")) {                  ret = dict_get_str (this->options, "nfs.mount-udp", &optstr);                  if (ret == -1) { -                        gf_log (GF_NFS, GF_LOG_ERROR, "Failed to parse dict"); +                        gf_msg (GF_NFS, GF_LOG_ERROR, -ret, NFS_MSG_PARSE_FAIL, +                                "Failed to parse dict");                          goto free_foppool;                  }                  ret = gf_string2boolean (optstr, &boolt);                  if (ret < 0) { -                        gf_log (GF_NFS, GF_LOG_ERROR, "Failed to parse bool " +                        gf_msg (GF_NFS, GF_LOG_ERROR, errno, NFS_MSG_PARSE_FAIL, +                                "Failed to parse bool "                                  "string");                          goto free_foppool;                  } @@ -889,14 +918,15 @@ nfs_init_state (xlator_t *this)                  ret = dict_get_str (this->options, "nfs.exports-auth-enable",                                      &optstr);                  if (ret == -1) { -                        gf_log (GF_NFS, GF_LOG_ERROR, "Failed to parse dict"); +                        gf_msg (GF_NFS, GF_LOG_ERROR, -ret, NFS_MSG_PARSE_FAIL, +                                "Failed to parse dict");                          goto free_foppool;                  }                  ret = gf_string2boolean (optstr, &boolt);                  if (ret < 0) { -                        gf_log (GF_NFS, GF_LOG_ERROR, "Failed to parse bool " -                                "string"); +                        gf_msg (GF_NFS, GF_LOG_ERROR, errno, NFS_MSG_PARSE_FAIL, +                                "Failed to parse bool string");                          goto free_foppool;                  } @@ -909,14 +939,15 @@ nfs_init_state (xlator_t *this)                  ret = dict_get_str (this->options,                                      "nfs.auth-refresh-interval-sec", &optstr);                  if (ret < 0) { -                        gf_log (GF_NFS, GF_LOG_ERROR, "Failed to parse dict"); +                        gf_msg (GF_NFS, GF_LOG_ERROR, -ret, NFS_MSG_PARSE_FAIL, +                                "Failed to parse dict");                          goto free_foppool;                  }                  ret = gf_string2uint (optstr, &nfs->auth_refresh_time_secs);                  if (ret < 0) { -                        gf_log (GF_NFS, GF_LOG_ERROR, "Failed to parse uint " -                                "string"); +                        gf_msg (GF_NFS, GF_LOG_ERROR, errno, NFS_MSG_PARSE_FAIL, +                                "Failed to parse uint string");                          goto free_foppool;                  }          } @@ -926,14 +957,15 @@ nfs_init_state (xlator_t *this)                  ret = dict_get_str (this->options,                                      "nfs.auth-cache-ttl-sec", &optstr);                  if (ret < 0) { -                        gf_log (GF_NFS, GF_LOG_ERROR, "Failed to parse dict"); +                        gf_msg (GF_NFS, GF_LOG_ERROR, -ret, NFS_MSG_PARSE_FAIL, +                                "Failed to parse dict");                          goto free_foppool;                  }                  ret = gf_string2uint (optstr, &nfs->auth_cache_ttl_sec);                  if (ret < 0) { -                        gf_log (GF_NFS, GF_LOG_ERROR, "Failed to parse uint " -                                "string"); +                        gf_msg (GF_NFS, GF_LOG_ERROR, errno, NFS_MSG_PARSE_FAIL, +                                "Failed to parse uint string");                          goto free_foppool;                  }          } @@ -946,7 +978,8 @@ nfs_init_state (xlator_t *this)          if (dict_get(this->options, "nfs.mount-rmtab")) {                  ret = dict_get_str (this->options, "nfs.mount-rmtab", &nfs->rmtab);                  if (ret == -1) { -                        gf_log (GF_NFS, GF_LOG_ERROR, "Failed to parse dict"); +                        gf_msg (GF_NFS, GF_LOG_ERROR, -ret, NFS_MSG_PARSE_FAIL, +                                "Failed to parse dict");                          goto free_foppool;                  } @@ -965,13 +998,15 @@ nfs_init_state (xlator_t *this)                  ret = dict_get_str (this->options, "rpc-auth.ports.insecure",                                      &optstr);                  if (ret < 0) { -                        gf_log (GF_NFS, GF_LOG_ERROR, "Failed to parse dict"); +                        gf_msg (GF_NFS, GF_LOG_ERROR, -ret, NFS_MSG_PARSE_FAIL, +                                "Failed to parse dict");                          goto free_foppool;                  }                  ret = gf_string2boolean (optstr, &boolt);                  if (ret < 0) { -                        gf_log (GF_NFS, GF_LOG_ERROR, "Failed to parse bool " +                        gf_msg (GF_NFS, GF_LOG_ERROR, errno, NFS_MSG_PARSE_FAIL, +                                "Failed to parse bool "                                  "string");                          goto free_foppool;                  } @@ -984,14 +1019,15 @@ nfs_init_state (xlator_t *this)                  ret = dict_get_str (this->options, "rpc-auth-allow-insecure",                                      &optstr);                  if (ret < 0) { -                        gf_log (GF_NFS, GF_LOG_ERROR, "Failed to parse dict"); +                        gf_msg (GF_NFS, GF_LOG_ERROR, -ret, NFS_MSG_PARSE_FAIL, +                                "Failed to parse dict");                          goto free_foppool;                  }                  ret = gf_string2boolean (optstr, &boolt);                  if (ret < 0) { -                        gf_log (GF_NFS, GF_LOG_ERROR, "Failed to parse bool " -                                "string"); +                        gf_msg (GF_NFS, GF_LOG_ERROR, errno, NFS_MSG_PARSE_FAIL, +                                "Failed to parse bool string");                          goto free_foppool;                  } @@ -1005,14 +1041,16 @@ nfs_init_state (xlator_t *this)                  ret = dict_set_str (this->options,                                      "rpc-auth-allow-insecure", "on");                  if (ret == -1) { -                        gf_log (GF_NFS, GF_LOG_ERROR, "dict_set_str error"); +                        gf_msg (GF_NFS, GF_LOG_ERROR, 0, +                                NFS_MSG_DICT_SET_FAILED, "dict_set_str error");                          goto free_foppool;                  }                  dict_del (this->options, "rpc-auth.ports.insecure");                  ret = dict_set_str (this->options,                                      "rpc-auth.ports.insecure", "on");                  if (ret == -1) { -                        gf_log (GF_NFS, GF_LOG_ERROR, "dict_set_str error"); +                        gf_msg (GF_NFS, GF_LOG_ERROR, 0, +                                NFS_MSG_DICT_SET_FAILED, "dict_set_str error");                          goto free_foppool;                  }          } @@ -1027,21 +1065,24 @@ nfs_init_state (xlator_t *this)                          uint32, free_foppool);          if (gid_cache_init(&nfs->gid_cache, nfs->server_aux_gids_max_age) < 0) { -                gf_log(GF_NFS, GF_LOG_ERROR, "Failed to initialize group cache."); +                gf_msg (GF_NFS, GF_LOG_ERROR, 0, +                        NFS_MSG_INIT_GRP_CACHE_FAIL, +                        "Failed to initialize group cache.");                  goto free_foppool;          }          ret = sys_access (nfs->rpc_statd, X_OK);          if (ret) { -                gf_log (GF_NFS, GF_LOG_WARNING, "%s not enough permissions to" -                        " access. Disabling NLM", nfs->rpc_statd); +                gf_msg (GF_NFS, GF_LOG_WARNING, EPERM, NFS_MSG_NO_PERM, +                        "%s not enough permissions to access. Disabling NLM", +                        nfs->rpc_statd);                  nfs->enable_nlm = _gf_false;          }          ret = sys_stat (nfs->rpc_statd, &stbuf);          if (ret || !S_ISREG (stbuf.st_mode)) { -                gf_log (GF_NFS, GF_LOG_WARNING, "%s not a regular file." -                        " Disabling NLM", nfs->rpc_statd); +                gf_msg (GF_NFS, GF_LOG_WARNING, 0, NFS_MSG_REG_FILE_ERROR, +                        "%s not a regular file. Disabling NLM", nfs->rpc_statd);                  nfs->enable_nlm = _gf_false;          } @@ -1049,13 +1090,15 @@ nfs_init_state (xlator_t *this)                                      this->options, fopspoolsize);          if (!nfs->rpcsvc) {                  ret = -1; -                gf_log (GF_NFS, GF_LOG_ERROR, "RPC service init failed"); +                gf_msg (GF_NFS, GF_LOG_ERROR, 0, NFS_MSG_RPC_INIT_FAIL, +                        "RPC service init failed");                  goto free_foppool;          }          ret = rpcsvc_set_throttle_on (nfs->rpcsvc);          if (ret) { -                gf_log (GF_NFS, GF_LOG_ERROR, "Enabling throttle failed"); +                gf_msg (GF_NFS, GF_LOG_ERROR, 0, NFS_MSG_ENABLE_THROTTLE_FAIL, +                        "Enabling throttle failed");                  goto free_foppool;          } @@ -1063,7 +1106,7 @@ nfs_init_state (xlator_t *this)                                                  this->options,                                                  RPCSVC_DEF_NFS_OUTSTANDING_RPC_LIMIT);          if (ret < 0) { -                gf_log (GF_NFS, GF_LOG_ERROR, +                gf_msg (GF_NFS, GF_LOG_ERROR, 0, NFS_MSG_RPC_CONFIG_FAIL,                          "Failed to configure outstanding-rpc-limit");                  goto free_foppool;          } @@ -1137,7 +1180,8 @@ nfs_reconfigure_state (xlator_t *this, dict_t *options)           * 1. SET */          while (blacklist_keys[keyindx]) {                  if (dict_get (options, blacklist_keys[keyindx])) { -                        gf_log (GF_NFS, GF_LOG_ERROR, +                        gf_msg (GF_NFS, GF_LOG_ERROR, 0, +                                NFS_MSG_RECONFIG_FAIL,                                  "Reconfiguring %s needs NFS restart",                                  blacklist_keys[keyindx]);                          goto out; @@ -1148,7 +1192,7 @@ nfs_reconfigure_state (xlator_t *this, dict_t *options)          /* UNSET for nfs.mem-factor */          if ((!dict_get (options, "nfs.mem-factor")) &&              (nfs->memfactor != GF_NFS_DEFAULT_MEMFACTOR)) { -                gf_log (GF_NFS, GF_LOG_INFO, +                gf_msg (GF_NFS, GF_LOG_INFO, 0, NFS_MSG_RECONFIG_FAIL,                          "Reconfiguring nfs.mem-factor needs NFS restart");                  goto out;          } @@ -1156,7 +1200,7 @@ nfs_reconfigure_state (xlator_t *this, dict_t *options)          /* UNSET for nfs.port */          if ((!dict_get (options, "nfs.port")) &&              (nfs->override_portnum)) { -                gf_log (GF_NFS, GF_LOG_ERROR, +                gf_msg (GF_NFS, GF_LOG_ERROR, 0, NFS_MSG_RECONFIG_FAIL,                          "Reconfiguring nfs.port needs NFS restart");                  goto out;          } @@ -1166,14 +1210,15 @@ nfs_reconfigure_state (xlator_t *this, dict_t *options)          if (dict_get (options, OPT_SERVER_RPC_STATD_PIDFILE)) {                  ret = dict_get_str (options, "nfs.rpc-statd", &rpc_statd);                  if (ret < 0) { -                        gf_log (GF_NFS, GF_LOG_ERROR, "Failed to read " -                                "reconfigured option: nfs.rpc-statd"); +                        gf_msg (GF_NFS, GF_LOG_ERROR, 0, NFS_MSG_READ_FAIL, +                                "Failed to read reconfigured option: " +                                "nfs.rpc-statd");                          goto out;                  }          }          if (strcmp(nfs->rpc_statd, rpc_statd) != 0) { -                gf_log (GF_NFS, GF_LOG_INFO, +                gf_msg (GF_NFS, GF_LOG_INFO, 0, NFS_MSG_RECONFIG_FAIL,                          "Reconfiguring nfs.rpc-statd needs NFS restart");                  goto out;          } @@ -1183,8 +1228,9 @@ nfs_reconfigure_state (xlator_t *this, dict_t *options)          if (dict_get (options, "nfs.mount-rmtab")) {                  ret = dict_get_str (options, "nfs.mount-rmtab", &rmtab);                  if (ret < 0) { -                        gf_log (GF_NFS, GF_LOG_ERROR, "Failed to read " -                                "reconfigured option: nfs.mount-rmtab"); +                        gf_msg (GF_NFS, GF_LOG_ERROR, 0, NFS_MSG_READ_FAIL, +                                "Failed to read reconfigured option:" +                                " nfs.mount-rmtab");                          goto out;                  }                  gf_path_strip_trailing_slashes (rmtab); @@ -1193,21 +1239,21 @@ nfs_reconfigure_state (xlator_t *this, dict_t *options)          if (strcmp ("/-", rmtab) == 0) {                  GF_FREE (nfs->rmtab);                  nfs->rmtab = NULL; -                gf_log (GF_NFS, GF_LOG_INFO, -                                "Disabled writing of nfs.mount-rmtab"); +                gf_msg (GF_NFS, GF_LOG_INFO, 0, NFS_MSG_WRITE_FAIL, +                        "Disabled writing of nfs.mount-rmtab");          } else if (!nfs->rmtab || strcmp (nfs->rmtab, rmtab) != 0) {                  mount_rewrite_rmtab (nfs->mstate, rmtab); -                gf_log (GF_NFS, GF_LOG_INFO, -                                "Reconfigured nfs.mount-rmtab path: %s", -                                nfs->rmtab); +                gf_msg (GF_NFS, GF_LOG_INFO, 0, NFS_MSG_RECONFIG_PATH, +                        "Reconfigured nfs.mount-rmtab path: %s", nfs->rmtab);          }          GF_OPTION_RECONF (OPT_SERVER_AUX_GIDS, optbool,                                                 options, bool, out);          if (nfs->server_aux_gids != optbool) {                  nfs->server_aux_gids = optbool; -                gf_log(GF_NFS, GF_LOG_INFO, "Reconfigured %s with value %d", -                               OPT_SERVER_AUX_GIDS, optbool); +                gf_msg (GF_NFS, GF_LOG_INFO, 0, NFS_MSG_RECONFIG_VALUE, +                        "Reconfigured %s with value %d", OPT_SERVER_AUX_GIDS, +                        optbool);          }          GF_OPTION_RECONF (OPT_SERVER_GID_CACHE_TIMEOUT, optuint32, @@ -1215,8 +1261,9 @@ nfs_reconfigure_state (xlator_t *this, dict_t *options)          if (nfs->server_aux_gids_max_age != optuint32) {                  nfs->server_aux_gids_max_age = optuint32;                  gid_cache_reconf (&nfs->gid_cache, optuint32); -                gf_log(GF_NFS, GF_LOG_INFO, "Reconfigured %s with value %d", -                               OPT_SERVER_GID_CACHE_TIMEOUT, optuint32); +                gf_msg (GF_NFS, GF_LOG_INFO, 0, NFS_MSG_RECONFIG_VALUE, +                        "Reconfigured %s with value %d", +                        OPT_SERVER_GID_CACHE_TIMEOUT, optuint32);          }          /* reconfig nfs.dynamic-volumes */ @@ -1233,8 +1280,9 @@ nfs_reconfigure_state (xlator_t *this, dict_t *options)          }          if (nfs->dynamicvolumes != optbool) {                  nfs->dynamicvolumes = optbool; -                gf_log(GF_NFS, GF_LOG_INFO, "Reconfigured nfs.dynamic-volumes" -                                            " with value %d", optbool); +                gf_msg (GF_NFS, GF_LOG_INFO, 0, NFS_MSG_RECONFIG_VOL, +                        "Reconfigured nfs.dynamic-volumes with value %d", +                        optbool);          }          optbool = _gf_false; @@ -1242,7 +1290,7 @@ nfs_reconfigure_state (xlator_t *this, dict_t *options)                  ret = dict_get_str_boolean (options, "nfs.enable-ino32",                                                        _gf_false);                  if (ret < 0) { -                        gf_log (GF_NFS, GF_LOG_ERROR, +                        gf_msg (GF_NFS, GF_LOG_ERROR, 0, NFS_MSG_READ_FAIL,                                  "Failed to read reconfigured option: "                                  "nfs.enable-ino32");                          goto out; @@ -1251,8 +1299,8 @@ nfs_reconfigure_state (xlator_t *this, dict_t *options)          }          if (nfs->enable_ino32 != optbool) {                  nfs->enable_ino32 = optbool; -                gf_log(GF_NFS, GF_LOG_INFO, "Reconfigured nfs.enable-ino32" -                                            " with value %d", optbool); +                gf_msg (GF_NFS, GF_LOG_INFO, 0, NFS_MSG_RECONFIG_ENABLE, +                        "Reconfigured nfs.enable-ino32 with value %d", optbool);          }          /* nfs.nlm is enabled by default */ @@ -1263,8 +1311,8 @@ nfs_reconfigure_state (xlator_t *this, dict_t *options)                  optbool = ret;          }          if (nfs->enable_nlm != optbool) { -                gf_log (GF_NFS, GF_LOG_INFO, "NLM is manually %s", -                                (optbool ? "enabled":"disabled")); +                gf_msg (GF_NFS, GF_LOG_INFO, 0, NFS_MSG_NLM_INFO, "NLM is" +                        " manually %s", (optbool ? "enabled":"disabled"));                  nfs->enable_nlm = optbool;                  nfs_reconfigure_nlm4 (this);          } @@ -1277,8 +1325,8 @@ nfs_reconfigure_state (xlator_t *this, dict_t *options)                  optbool = ret;          }          if (nfs->enable_acl != optbool) { -                gf_log (GF_NFS, GF_LOG_INFO, "ACL is manually %s", -                                (optbool ? "enabled":"disabled")); +                gf_msg (GF_NFS, GF_LOG_INFO, 0, NFS_MSG_ACL_INFO, "ACL is " +                        "manually %s", (optbool ? "enabled":"disabled"));                  nfs->enable_acl = optbool;                  nfs_reconfigure_acl3 (this);          } @@ -1307,7 +1355,7 @@ reconfigure (xlator_t *this, dict_t *options)          /* Reconfigure nfs options */          ret = nfs_reconfigure_state(this, options);          if (ret) { -                gf_log (GF_NFS, GF_LOG_ERROR, +                gf_msg (GF_NFS, GF_LOG_ERROR, 0, NFS_MSG_RECONFIG_FAIL,                          "nfs reconfigure state failed");                  return (-1);          } @@ -1315,7 +1363,7 @@ reconfigure (xlator_t *this, dict_t *options)          /* Reconfigure nfs3 options */          ret = nfs3_reconfigure_state(this, options);          if (ret) { -                gf_log (GF_NFS, GF_LOG_ERROR, +                gf_msg (GF_NFS, GF_LOG_ERROR, 0, NFS_MSG_RECONFIG_FAIL,                          "nfs3 reconfigure state failed");                  return (-1);          } @@ -1323,7 +1371,7 @@ reconfigure (xlator_t *this, dict_t *options)          /* Reconfigure mount options */          ret = mount_reconfigure_state(this, options);          if (ret) { -                gf_log (GF_NFS, GF_LOG_ERROR, +                gf_msg (GF_NFS, GF_LOG_ERROR, 0, NFS_MSG_RECONFIG_FAIL,                          "mount reconfigure state failed");                  return (-1);          } @@ -1331,7 +1379,7 @@ reconfigure (xlator_t *this, dict_t *options)          /* Reconfigure rpc layer */          ret = rpcsvc_reconfigure_options (nfs->rpcsvc, options);          if (ret) { -                gf_log (GF_NFS, GF_LOG_ERROR, +                gf_msg (GF_NFS, GF_LOG_ERROR, 0, NFS_MSG_RECONFIG_FAIL,                          "rpcsvc reconfigure options failed");                  return (-1);          } @@ -1341,7 +1389,7 @@ reconfigure (xlator_t *this, dict_t *options)                                         options,                                         RPCSVC_DEF_NFS_OUTSTANDING_RPC_LIMIT);          if (ret < 0) { -                gf_log (GF_NFS, GF_LOG_ERROR, +                gf_msg (GF_NFS, GF_LOG_ERROR, 0, NFS_MSG_RECONFIG_FAIL,                          "Failed to reconfigure outstanding-rpc-limit");                  return (-1);          } @@ -1359,7 +1407,7 @@ reconfigure (xlator_t *this, dict_t *options)          /* Reconfigure drc */          ret = rpcsvc_drc_reconfigure (nfs->rpcsvc, options);          if (ret) { -                gf_log (GF_NFS, GF_LOG_ERROR, +                gf_msg (GF_NFS, GF_LOG_ERROR, 0, NFS_MSG_RECONFIG_FAIL,                          "rpcsvc DRC reconfigure failed");                  return (-1);          } @@ -1395,47 +1443,55 @@ init (xlator_t *this) {          nfs = nfs_init_state (this);          if (!nfs) { -                gf_log (GF_NFS, GF_LOG_ERROR, "Failed to init nfs option"); +                gf_msg (GF_NFS, GF_LOG_ERROR, 0, NFS_MSG_OPT_INIT_FAIL, +                        "Failed to init nfs option");                  return (-1);          }          ret = nfs_add_all_initiators (nfs);          if (ret) { -                gf_log (GF_NFS, GF_LOG_ERROR, "Failed to add initiators"); +                gf_msg (GF_NFS, GF_LOG_ERROR, 0, NFS_MSG_INIT_FAIL, +                        "Failed to add initiators");                  return (-1);          }          ret = nfs_init_subvolumes (nfs, this->children);          if (ret) { -                gf_log (GF_NFS, GF_LOG_CRITICAL, "Failed to init NFS exports"); +                gf_msg (GF_NFS, GF_LOG_CRITICAL, 0, NFS_MSG_INIT_FAIL, +                        "Failed to init NFS exports");                  return (-1);          }          ret = mount_init_state (this);          if (ret) { -                gf_log (GF_NFS, GF_LOG_CRITICAL, "Failed to init Mount state"); +                gf_msg (GF_NFS, GF_LOG_CRITICAL, 0, NFS_MSG_INIT_FAIL, +                        "Failed to init Mount state");                  return (-1);          }          ret = nlm4_init_state (this);          if (ret) { -                gf_log (GF_NFS, GF_LOG_CRITICAL, "Failed to init NLM state"); +                gf_msg (GF_NFS, GF_LOG_CRITICAL, 0, NFS_MSG_INIT_FAIL, +                        "Failed to init NLM state");                  return (-1);          }          ret = nfs_init_versions (nfs, this);          if (ret) { -                gf_log (GF_NFS, GF_LOG_ERROR, "Failed to initialize protocols"); +                gf_msg (GF_NFS, GF_LOG_ERROR, 0, NFS_MSG_INIT_FAIL, +                        "Failed to initialize protocols");                  return (-1);          }          ret = nfs_drc_init (this);          if (ret) { -                gf_log (GF_NFS, GF_LOG_ERROR, "Failed to initialize DRC"); +                gf_msg (GF_NFS, GF_LOG_ERROR, 0, NFS_MSG_INIT_FAIL, +                        "Failed to initialize DRC");                  return (-1);          } -        gf_log (GF_NFS, GF_LOG_INFO, "NFS service started"); +        gf_msg (GF_NFS, GF_LOG_INFO, 0, NFS_MSG_STARTED, +                "NFS service started");          return (0); /* SUCCESS */  } @@ -1448,7 +1504,7 @@ notify (xlator_t *this, int32_t event, void *data, ...)          subvol = (xlator_t *)data; -        gf_log (GF_NFS, GF_LOG_TRACE, "Notification received: %d", +        gf_msg_trace (GF_NFS, 0, "Notification received: %d",                  event);          switch (event) { @@ -1478,7 +1534,7 @@ fini (xlator_t *this)          mnt3svc_deinit (this);          nfs = (struct nfs_state *)this->private; -        gf_log (GF_NFS, GF_LOG_DEBUG, "NFS service going down"); +        gf_msg_debug (GF_NFS, 0, "NFS service going down");          nfs_deinit_versions (&nfs->versions, this);          return 0;  } @@ -1532,7 +1588,8 @@ nfs_priv_to_dict (xlator_t *this, dict_t *dict)          ret = dict_get_str (dict, "volname", &volname);          if (ret) { -                gf_log (this->name, GF_LOG_ERROR, "Could not get volname"); +                gf_msg (this->name, GF_LOG_ERROR, -ret, NFS_MSG_VOL_NOT_FOUND, +                        "Could not get volname");                  goto out;          } @@ -1544,7 +1601,8 @@ nfs_priv_to_dict (xlator_t *this, dict_t *dict)                  snprintf (key, sizeof (key), "client%d.hostname", count);                  ret = dict_set_str (dict, key, mentry->hostname);                  if (ret) { -                        gf_log (this->name, GF_LOG_ERROR, +                        gf_msg (this->name, GF_LOG_ERROR, 0, +                                NFS_MSG_WRITE_FAIL,                                  "Error writing hostname to dict");                          goto out;                  } @@ -1556,7 +1614,8 @@ nfs_priv_to_dict (xlator_t *this, dict_t *dict)                  snprintf (key, sizeof (key), "client%d.bytesread", count);                  ret = dict_set_uint64 (dict, key, 0);                  if (ret) { -                        gf_log (this->name, GF_LOG_ERROR, +                        gf_msg (this->name, GF_LOG_ERROR, 0, +                                NFS_MSG_WRITE_FAIL,                                  "Error writing bytes read to dict");                          goto out;                  } @@ -1565,7 +1624,8 @@ nfs_priv_to_dict (xlator_t *this, dict_t *dict)                  snprintf (key, sizeof (key), "client%d.byteswrite", count);                  ret = dict_set_uint64 (dict, key, 0);                  if (ret) { -                        gf_log (this->name, GF_LOG_ERROR, +                        gf_msg (this->name, GF_LOG_ERROR, 0, +                                NFS_MSG_WRITE_FAIL,                                  "Error writing bytes write to dict");                          goto out;                  } @@ -1575,11 +1635,11 @@ nfs_priv_to_dict (xlator_t *this, dict_t *dict)          ret = dict_set_int32 (dict, "clientcount", count);          if (ret) -                gf_log (this->name, GF_LOG_ERROR, +                gf_msg (this->name, GF_LOG_ERROR, 0, NFS_MSG_WRITE_FAIL,                          "Error writing client count to dict");  out: -        gf_log (THIS->name, GF_LOG_DEBUG, "Returning %d", ret); +        gf_msg_debug (THIS->name, 0, "Returning %d", ret);          return ret;  } @@ -1594,13 +1654,13 @@ nfs_priv (xlator_t *this)          /* DRC needs the global drc structure, xl is of no use to it. */          ret = rpcsvc_drc_priv (((struct nfs_state *)(this->private))->rpcsvc->drc);          if (ret) { -                gf_log (this->name, GF_LOG_DEBUG, "Statedump of DRC failed"); +                gf_msg_debug (this->name, 0, "Statedump of DRC failed");                  goto out;          }          ret = nlm_priv (this);          if (ret) { -                gf_log (this->name, GF_LOG_DEBUG, "Statedump of NLM failed"); +                gf_msg_debug (this->name, 0, "Statedump of NLM failed");                  goto out;          }   out: diff --git a/xlators/nfs/server/src/nfs3.c b/xlators/nfs/server/src/nfs3.c index 4e03277b496..d66ac5d00b5 100644 --- a/xlators/nfs/server/src/nfs3.c +++ b/xlators/nfs/server/src/nfs3.c @@ -32,6 +32,7 @@  #include "nfs.h"  #include "xdr-rpc.h"  #include "xdr-generic.h" +#include "nfs-messages.h"  #include <sys/socket.h>  #include <sys/uio.h> @@ -42,8 +43,10 @@          do      {                                                       \                  if ((str)) {                                            \                          if (strlen ((str)) > (len)) {                   \ -                                gf_log (GF_NFS3, GF_LOG_ERROR, "strlen "\ -                                        "too long");                    \ +                                gf_msg (GF_NFS3, GF_LOG_ERROR,          \ +                                        ENAMETOOLONG,                   \ +                                        NFS_MSG_STR_TOO_LONG,           \ +                                        "strlen too long");             \                                  status = NFS3ERR_NAMETOOLONG;           \                                  retval = -ENAMETOOLONG;                 \                                  goto label;                             \ @@ -54,8 +57,9 @@  #define nfs3_validate_nfs3_state(request, state, status, label, retval) \          do      {                                                       \                  state = rpcsvc_request_program_private (request);       \ -                if (!state) {                                            \ -                        gf_log (GF_NFS3, GF_LOG_ERROR, "NFSv3 state "   \ +                if (!state) {                                           \ +                        gf_msg (GF_NFS3, GF_LOG_ERROR, EFAULT,          \ +                                NFS_MSG_STATE_MISSING, "NFSv3 state "   \                                  "missing from RPC request");            \                          status = NFS3ERR_SERVERFAULT;                   \                          ret = -EFAULT;                                  \ @@ -80,7 +84,8 @@ __nfs3_get_export_by_index (struct nfs3_state *nfs3, uuid_t exportid)          }          exp = NULL; -        gf_log (GF_NFS, GF_LOG_ERROR, "searchindex=%d not found", searchindex); +        gf_msg (GF_NFS3, GF_LOG_ERROR, 0, NFS_MSG_INDEX_NOT_FOUND, +                "searchindex=%d not found", searchindex);  found:          return exp;  } @@ -130,7 +135,8 @@ nfs3_export_access (struct nfs3_state *nfs3, uuid_t exportid)          exp = __nfs3_get_export_by_exportid (nfs3, exportid);          if (!exp) { -                gf_log (GF_NFS3, GF_LOG_ERROR, "Failed to get export by ID"); +                gf_msg (GF_NFS3, GF_LOG_ERROR, 0, NFS_MSG_EXPORT_ID_FAIL, +                        "Failed to get export by ID");                  goto err;          } @@ -143,7 +149,9 @@ err:  #define nfs3_check_rw_volaccess(nfs3state, exid, status, label)         \          do {                                                            \                  if (nfs3_export_access (nfs3state,exid)!=GF_NFS3_VOLACCESS_RW){\ -                        gf_log (GF_NFS3, GF_LOG_ERROR, "No read-write access");\ +                        gf_msg (GF_NFS3, GF_LOG_ERROR, EACCES,          \ +                                NFS_MSG_NO_RW_ACCESS,                   \ +                                "No read-write access");                \                          status = NFS3ERR_ROFS;                          \                          goto label;                                     \                  }                                                       \ @@ -214,8 +222,8 @@ out:                  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_OCCASIONALLY (nfs3state->occ_logger,     \                                  GF_NFS3, GF_LOG_ERROR, "Failed to map " \ @@ -230,7 +238,7 @@ out:                          status = NFS3ERR_STALE;                         \                          goto label;                                     \                  } else {                                                \ -                        gf_log (GF_NFS3, GF_LOG_TRACE, "FH to Volume:"  \ +                        gf_msg_trace (GF_NFS3, 0, "FH to Volume:"       \                                  "%s", volume->name);                    \                          rpcsvc_request_set_private (req, volume);       \                  }                                                       \ @@ -240,7 +248,9 @@ out:  #define nfs3_validate_gluster_fh(handle, status, errlabel)              \          do {                                                            \                  if (!nfs3_fh_validate (handle)) {                       \ -                        gf_log (GF_NFS3, GF_LOG_ERROR, "Bad Handle");   \ +                        gf_msg (GF_NFS3, GF_LOG_ERROR, 0,               \ +                                NFS_MSG_BAD_HANDLE,                     \ +                                "Bad Handle");                          \                          status = NFS3ERR_BADHANDLE;                     \                          goto errlabel;                                  \                  }                                                       \ @@ -261,13 +271,14 @@ out:                          trans = rpcsvc_request_transport (cst->req);    \                          xlatorp = nfs3_fh_to_xlator (cst->nfs3state,    \                                                       &cst->resolvefh);  \ -                        gf_uuid_unparse (cst->resolvefh.gfid, gfid);       \ +                        gf_uuid_unparse (cst->resolvefh.gfid, gfid);    \                          sprintf (buf, "(%s) %s : %s",                   \                                   trans->peerinfo.identifier,            \                          xlatorp ? xlatorp->name : "ERR", gfid);         \ -                        gf_log (GF_NFS3, GF_LOG_ERROR, "Unable to resolve FH"\ -                                ": %s", buf);                           \ -                        nfstat = nfs3_errno_to_nfsstat3 (-auth_errno);\ +                        gf_msg (GF_NFS3, GF_LOG_ERROR, 0,               \ +                                NFS_MSG_RESOLVE_FH_FAIL, "Unable to "   \ +                                        "resolve FH: %s", buf);         \ +                        nfstat = nfs3_errno_to_nfsstat3 (-auth_errno);  \                          goto erlabl;                                    \                  }                                                       \          } while (0)                                                     \ @@ -281,13 +292,15 @@ out:                          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_NFS3, GF_LOG_ERROR, "%s: %s",        \ -                                strerror(cst->resolve_errno), buf);     \ +                                  gfid);                                \ +                        gf_msg (GF_NFS3, GF_LOG_ERROR, 0,               \ +                                NFS_MSG_RESOLVE_STAT,                   \ +                                "%s: %s", strerror(cst->resolve_errno), \ +                                buf);                                   \                          nfstat = nfs3_errno_to_nfsstat3 (cst->resolve_errno);\                          goto erlabl;                                    \                  }                                                       \ @@ -303,12 +316,13 @@ out:                          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",             \ -                                  trans->peerinfo.identifier,     \ +                        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_NFS3, GF_LOG_ERROR, "%s: %s",        \ +                                  gfid);                                \ +                        gf_msg (GF_NFS3, GF_LOG_ERROR, 0,               \ +                                NFS_MSG_RESOLVE_STAT, "%s: %s",         \                                  strerror(cst->resolve_errno), buf);     \                          nfstat = nfs3_errno_to_nfsstat3 (cs->resolve_errno);\                          goto erlabl;                                    \ @@ -349,7 +363,7 @@ out:                          goto erl;                                       \                  }                                                       \                                                                          \ -                gf_uuid_copy ((fhd)->gfid, zero);                          \ +                gf_uuid_copy ((fhd)->gfid, zero);                       \                  (fhd)->gfid[15] = 1;                                    \                  (enam) = NULL;                                          \                  if ((gf_nfs_dvm_off (nfs_state (nfs3st->nfsx))))        \ @@ -366,8 +380,10 @@ out:  #define nfs3_volume_started_check(nf3stt, vlm, rtval, erlbl)            \          do {                                                            \                if ((!nfs_subvolume_started (nfs_state (nf3stt->nfsx), vlm))){\ -                      gf_log (GF_NFS3, GF_LOG_ERROR, "Volume is disabled: %s",\ -                              vlm->name);                               \ +                        gf_msg (GF_NFS3, GF_LOG_ERROR, 0,               \ +                                NFS_MSG_VOL_DISABLE,                    \ +                                "Volume is disabled: %s",               \ +                                vlm->name);                             \                        rtval = RPCSVC_ACTOR_IGNORE;                      \                        goto erlbl;                                       \                }                                                         \ @@ -442,7 +458,8 @@ nfs3_call_state_init (struct nfs3_state *s, rpcsvc_request_t *req, xlator_t *v)          cs = (nfs3_call_state_t *) mem_get (s->localpool);          if (!cs) { -                gf_log (GF_NFS3, GF_LOG_ERROR, "out of memory"); +                gf_msg (GF_NFS3, GF_LOG_ERROR, ENOMEM, NFS_MSG_NO_MEMORY, +                        "out of memory");                  return NULL;          } @@ -465,7 +482,7 @@ nfs3_call_state_wipe (nfs3_call_state_t *cs)                  return;          if (cs->fd) { -                gf_log (GF_NFS3, GF_LOG_TRACE, "fd 0x%lx ref: %d", +                gf_msg_trace (GF_NFS3, 0, "fd 0x%lx ref: %d",                          (long)cs->fd, cs->fd->refcount);                  fd_unref (cs->fd);          } @@ -495,8 +512,9 @@ nfs3_call_state_wipe (nfs3_call_state_t *cs)          do {                                                            \                  calls = nfs3_call_state_init ((nfs3state), (rq), (vl)); \                  if (!calls) {                                           \ -                        gf_log (GF_NFS3, GF_LOG_ERROR, "Failed to "     \ -                                "init call state");                     \ +                        gf_msg (GF_NFS3, GF_LOG_ERROR, 0,               \ +                                NFS_MSG_INIT_CALL_STAT_FAIL, "Failed to"\ +                                " init call state");                    \                          opstat = NFS3ERR_SERVERFAULT;                   \                          goto errlabel;                                  \                  }                                                       \ @@ -514,8 +532,8 @@ nfs3_serialize_reply (rpcsvc_request_t *req, void *arg, nfs3_serializer sfunc,          nfs3 = (struct nfs3_state *)rpcsvc_request_program_private (req);          if (!nfs3) { -                gf_log (GF_NFS3, GF_LOG_ERROR, "NFSv3 state not found in RPC" -                        " request"); +                gf_msg (GF_NFS3, GF_LOG_ERROR, EINVAL, NFS_MSG_STATE_MISSING, +                        "NFSv3 state not found in RPC request");                  goto ret;          } @@ -526,7 +544,8 @@ nfs3_serialize_reply (rpcsvc_request_t *req, void *arg, nfs3_serializer sfunc,             can have 'xdr_sizeof' */          iob = iobuf_get (nfs3->iobpool);          if (!iob) { -                gf_log (GF_NFS3, GF_LOG_ERROR, "Failed to get iobuf"); +                gf_msg (GF_NFS3, GF_LOG_ERROR, ENOMEM, NFS_MSG_NO_MEMORY, +                        "Failed to get iobuf");                  goto ret;          } @@ -539,7 +558,8 @@ nfs3_serialize_reply (rpcsvc_request_t *req, void *arg, nfs3_serializer sfunc,           */          retlen = sfunc (*outmsg, arg);          if (retlen == -1) { -                gf_log (GF_NFS3, GF_LOG_ERROR, "Failed to encode message"); +                gf_msg (GF_NFS3, GF_LOG_ERROR, 0, NFS_MSG_ENCODE_FAIL, +                        "Failed to encode message");                  goto ret;          } @@ -569,26 +589,30 @@ nfs3svc_submit_reply (rpcsvc_request_t *req, void *arg, nfs3_serializer sfunc)          iob = nfs3_serialize_reply (req, arg, sfunc, &outmsg);          if (!iob) { -                gf_log (GF_NFS3, GF_LOG_ERROR, "Failed to serialize reply"); +                gf_msg (GF_NFS3, GF_LOG_ERROR, 0, NFS_MSG_SERIALIZE_REPLY_FAIL, +                        "Failed to serialize reply");                  goto ret;          }          iobref = iobref_new ();          if (!iobref) { -                gf_log (GF_NFS3, GF_LOG_ERROR, "failed on iobref_new()"); +                gf_msg (GF_NFS3, GF_LOG_ERROR, ENOMEM, NFS_MSG_NO_MEMORY, +                        "failed on iobref_new()");                  goto ret;          }          ret = iobref_add (iobref, iob);          if (ret) { -                gf_log (GF_NFS3, GF_LOG_ERROR, "Failed to add iob to iobref"); +                gf_msg (GF_NFS3, 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_NFS3, GF_LOG_ERROR, "Reply submission failed"); +                gf_msg (GF_NFS3, GF_LOG_ERROR, 0, NFS_MSG_SUBMIT_REPLY_FAIL, +                        "Reply submission failed");                  goto ret;          } @@ -621,13 +645,15 @@ nfs3svc_submit_vector_reply (rpcsvc_request_t *req, void *arg,          iob = nfs3_serialize_reply (req, arg, sfunc, &outmsg);          if (!iob) { -                gf_log (GF_NFS3, GF_LOG_ERROR, "Failed to serialize reply"); +                gf_msg (GF_NFS3, GF_LOG_ERROR, 0, NFS_MSG_SERIALIZE_REPLY_FAIL, +                        "Failed to serialize reply");                  goto ret;          }          if (iobref == NULL) {                  iobref = iobref_new ();                  if (!iobref) { -                        gf_log (GF_NFS3, GF_LOG_ERROR, "failed on iobref_new"); +                        gf_msg (GF_NFS3, GF_LOG_ERROR, ENOMEM, +                                NFS_MSG_NO_MEMORY, "failed on iobref_new");                          goto ret;                  }                  new_iobref = 1; @@ -635,14 +661,16 @@ nfs3svc_submit_vector_reply (rpcsvc_request_t *req, void *arg,          ret = iobref_add (iobref, iob);          if (ret) { -                gf_log (GF_NFS3, GF_LOG_ERROR, "Failed to add iob to iobref"); +                gf_msg (GF_NFS3, 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, payload, vcount, iobref);          if (ret == -1) { -                gf_log (GF_NFS3, GF_LOG_ERROR, "Reply submission failed"); +                gf_msg (GF_NFS3, GF_LOG_ERROR, 0, NFS_MSG_SUBMIT_REPLY_FAIL, +                        "Reply submission failed");                  goto ret;          } @@ -727,9 +755,10 @@ nfs3svc_getattr_lookup_cbk (call_frame_t *frame, void *cookie, xlator_t *this,           */          if (op_ret == -1) { -                gf_log (GF_NFS, GF_LOG_WARNING, -                        "%x: %s => -1 (%s)", rpcsvc_request_xid (cs->req), -                        cs->resolvedloc.path, strerror (op_errno)); +                gf_msg (GF_NFS, GF_LOG_WARNING, op_errno, +                        NFS_MSG_GETATTR_LOOKUP_CBK, "%x: %s => -1 (%s)", +                        rpcsvc_request_xid (cs->req), cs->resolvedloc.path, +                        strerror (op_errno));                  status = nfs3_cbk_errno_status (op_ret, op_errno);          }          else { @@ -757,9 +786,10 @@ nfs3svc_getattr_stat_cbk (call_frame_t *frame, void *cookie, xlator_t *this,          cs = frame->local;          if (op_ret == -1) { -                gf_log (GF_NFS, GF_LOG_WARNING, -                        "%x: %s => -1 (%s)", rpcsvc_request_xid (cs->req), -                        cs->resolvedloc.path, strerror (op_errno)); +                gf_msg (GF_NFS, GF_LOG_WARNING, op_errno, +                        NFS_MSG_GETATTR_STAT_CBK, "%x: %s => -1 (%s)", +                        rpcsvc_request_xid (cs->req), cs->resolvedloc.path, +                        strerror (op_errno));                  status = nfs3_cbk_errno_status (op_ret, op_errno);          } @@ -833,8 +863,9 @@ nfs3_getattr_resume (void *carg)  check_err:          if (ret < 0) { -                gf_log (GF_NFS3, GF_LOG_ERROR, "Stat fop failed: %s: %s", -                        cs->oploc.path, strerror (-ret)); +                gf_msg (GF_NFS3, GF_LOG_ERROR, -ret, NFS_MSG_STAT_FOP_FAIL, +                        "Stat fop failed: %s: %s", cs->oploc.path, +                        strerror (-ret));                  stat = nfs3_errno_to_nfsstat3 (-ret);          } @@ -899,14 +930,16 @@ nfs3svc_getattr (rpcsvc_request_t *req)          nfs3_prep_getattr3args (&args, &fh);          if (xdr_to_getattr3args (req->msg[0], &args) <= 0) { -                gf_log (GF_NFS3, GF_LOG_ERROR, "Error decoding args"); +                gf_msg (GF_NFS3, GF_LOG_ERROR, 0, NFS_MSG_ARGS_DECODE_ERROR, +                        "Error decoding args");                  rpcsvc_request_seterr (req, GARBAGE_ARGS);                  goto rpcerr;          }          ret = nfs3_getattr (req, &fh);          if ((ret < 0) && (ret != RPCSVC_ACTOR_IGNORE)) { -                gf_log (GF_NFS3, GF_LOG_ERROR, "GETATTR procedure failed"); +                gf_msg (GF_NFS3, GF_LOG_ERROR, -ret, NFS_MSG_GETATTR_FAIL, +                        "GETATTR procedure failed");                  rpcsvc_request_seterr (req, SYSTEM_ERR);                  ret = RPCSVC_ACTOR_ERROR;          } @@ -942,7 +975,7 @@ nfs3svc_truncate_cbk (call_frame_t *frame, void *cookie, xlator_t *this,          cs = frame->local;          if (op_ret == -1) { -                gf_log (GF_NFS, GF_LOG_WARNING, +                gf_msg (GF_NFS, GF_LOG_WARNING, op_errno, NFS_MSG_TRUNCATE_CBK,                          "%x: %s => -1 (%s)", rpcsvc_request_xid (cs->req),                          cs->resolvedloc.path, strerror (op_errno));                  stat = nfs3_cbk_errno_status (op_ret, op_errno); @@ -982,7 +1015,7 @@ nfs3svc_setattr_cbk (call_frame_t *frame, void *cookie, xlator_t *this,          cs = frame->local;          if (op_ret == -1) { -                gf_log (GF_NFS, GF_LOG_WARNING, +                gf_msg (GF_NFS, GF_LOG_WARNING, op_errno, NFS_MSG_SETATTR_CBK,                          "%x: %s => -1 (%s)", rpcsvc_request_xid (cs->req),                          cs->resolvedloc.path, strerror (op_errno));                  stat = nfs3_cbk_errno_status (op_ret, op_errno); @@ -1038,15 +1071,17 @@ nfs3svc_setattr_stat_cbk (call_frame_t *frame, void *cookie, xlator_t *this,          cs = frame->local;          if (op_ret == -1) { -                gf_log (GF_NFS, GF_LOG_WARNING, -                        "%x: %s => -1 (%s)", rpcsvc_request_xid (cs->req), -                        cs->resolvedloc.path, strerror (op_errno)); +                gf_msg (GF_NFS, GF_LOG_WARNING, op_errno, +                        NFS_MSG_SETATTR_STAT_CBK, "%x: %s => -1 (%s)", +                        rpcsvc_request_xid (cs->req), cs->resolvedloc.path, +                        strerror (op_errno));                  stat = nfs3_cbk_errno_status (op_ret, op_errno);                  goto nfs3err;          }          if (buf->ia_ctime != cs->timestamp.seconds) { -                gf_log (GF_NFS3, GF_LOG_ERROR, "Timestamps not in sync"); +                gf_msg (GF_NFS3, GF_LOG_ERROR, 0, NFS_MSG_TIMESTAMP_NO_SYNC, +                        "Timestamps not in sync");                  stat = NFS3ERR_NOT_SYNC;                  goto nfs3err;          } @@ -1130,18 +1165,19 @@ nfs3_setattr (rpcsvc_request_t *req, struct nfs3_fh *fh, sattr3 *sattr,          cs->setattr_valid = nfs3_sattr3_to_setattr_valid (sattr, &cs->stbuf,                                                            NULL);          if (guard->check) { -                gf_log (GF_NFS3, GF_LOG_TRACE, "Guard check required"); +                gf_msg_trace (GF_NFS3, 0, "Guard check required");                  cs->timestamp = guard->sattrguard3_u.obj_ctime;                  cs->sattrguardcheck = 1;          } else { -                gf_log (GF_NFS3, GF_LOG_TRACE, "Guard check not required"); +                gf_msg_trace (GF_NFS3, 0, "Guard check not required");                  cs->sattrguardcheck = 0;          }          if (!cs->setattr_valid) {                  ret = -EINVAL;  /* Force a reply */                  stat = NFS3_OK; -                gf_log (GF_NFS3, GF_LOG_ERROR, "cs->setattr_valid is invalid"); +                gf_msg (GF_NFS3, GF_LOG_ERROR, EINVAL, NFS_MSG_SETATTR_INVALID, +                        "cs->setattr_valid is invalid");                  goto nfs3err;          } @@ -1177,14 +1213,17 @@ nfs3svc_setattr (rpcsvc_request_t *req)          nfs3_prep_setattr3args (&args, &fh);          if (xdr_to_setattr3args (req->msg[0], &args) <= 0) { -                gf_log (GF_NFS3, GF_LOG_ERROR, "Error decoding args"); +                gf_msg (GF_NFS3, GF_LOG_ERROR, 0, +                        NFS_MSG_ARGS_DECODE_ERROR, +                        "Error decoding args");                  rpcsvc_request_seterr (req, GARBAGE_ARGS);                  goto rpcerr;          }          ret = nfs3_setattr (req, &fh, &args.new_attributes, &args.guard);          if ((ret < 0) && (ret != RPCSVC_ACTOR_IGNORE)) { -                gf_log (GF_NFS3, GF_LOG_ERROR, "SETATTR procedure failed"); +                gf_msg (GF_NFS3, GF_LOG_ERROR, -ret, NFS_MSG_SETATTR_FAIL, +                        "SETATTR procedure failed");                  rpcsvc_request_seterr (req, SYSTEM_ERR);                  ret = RPCSVC_ACTOR_ERROR;          } @@ -1219,7 +1258,7 @@ nfs3_fresh_lookup (nfs3_call_state_t *cs)          char    *oldresolventry = NULL;          GF_VALIDATE_OR_GOTO (GF_NFS3, cs, err); -        gf_log (GF_NFS3, GF_LOG_DEBUG, "inode needs fresh lookup"); +        gf_msg_debug (GF_NFS3, 0, "inode needs fresh lookup");          inode_unlink (cs->resolvedloc.inode, cs->resolvedloc.parent,                        cs->resolventry);          nfs_loc_wipe (&cs->resolvedloc); @@ -1251,10 +1290,16 @@ nfs3svc_lookup_cbk (call_frame_t *frame, void *cookie, xlator_t *this,          cs = frame->local;          if (op_ret == -1) { -                gf_log (GF_NFS, -                        (op_errno == ENOENT ? GF_LOG_TRACE : GF_LOG_WARNING), -                        "%x: %s => -1 (%s)", rpcsvc_request_xid (cs->req), -                        cs->resolvedloc.path, strerror (op_errno)); +                if (op_errno == ENOENT) { +                        gf_msg_trace (GF_NFS, 0, "%x: %s => -1 (%s)", +                                rpcsvc_request_xid (cs->req), +                                cs->resolvedloc.path, strerror (op_errno)); +                } else { +                        gf_msg (GF_NFS, GF_LOG_WARNING, op_errno, +                                NFS_MSG_SVC_LOOKUP, "%x: %s => -1 (%s)", +                                rpcsvc_request_xid (cs->req), +                                cs->resolvedloc.path, strerror (op_errno)); +                }                  status = nfs3_cbk_errno_status (op_ret, op_errno);                  goto xmit_res;          } @@ -1297,9 +1342,10 @@ nfs3svc_lookup_parentdir_cbk (call_frame_t *frame, void *cookie, xlator_t *this,          cs = frame->local;          if (op_ret == -1) { -                gf_log (GF_NFS, GF_LOG_WARNING, -                        "%x: %s => -1 (%s)", rpcsvc_request_xid (cs->req), -                        cs->resolvedloc.path, strerror (op_errno)); +                gf_msg (GF_NFS, GF_LOG_WARNING, op_errno, +                        NFS_MSG_SVC_PAR_LOOKUP, "%x: %s => -1 (%s)", +                        rpcsvc_request_xid (cs->req), cs->resolvedloc.path, +                        strerror (op_errno));                  status = nfs3_cbk_errno_status (op_ret, op_errno);                  goto xmit_res;          } @@ -1343,8 +1389,8 @@ nfs3_lookup_parentdir_resume (void *carg)          inode_t                         *parent = NULL;          if (!carg) { -                gf_log (GF_NFS3, GF_LOG_ERROR, "Invalid argument," -                        " carg value NULL"); +                gf_msg (GF_NFS3, GF_LOG_ERROR, EINVAL, NFS_MSG_INVALID_ENTRY, +                        "Invalid argument, carg value NULL");                  return EINVAL;          } @@ -1382,7 +1428,9 @@ nfs3_lookup_parentdir_resume (void *carg)                                            NFS_RESOLVE_CREATE);                  if (ret < 0) { -                        gf_log (GF_NFS3, GF_LOG_ERROR, "nfs_inode_loc_fill" +                        gf_msg (GF_NFS3, GF_LOG_ERROR, -ret, +                                NFS_MSG_INODE_LOC_FILL_ERROR, +                                "nfs_inode_loc_fill"                                  " error");                          goto errtostat;                  } @@ -1419,8 +1467,8 @@ nfs3_lookup_resume (void *carg)          struct nfs3_fh                  newfh = {{0},};          if (!carg) { -                gf_log (GF_NFS3, GF_LOG_ERROR, "Invalid argument," -                        " carg value NULL"); +                gf_msg (GF_NFS3, GF_LOG_ERROR, EINVAL, NFS_MSG_INVALID_ENTRY, +                        "Invalid argument, carg value NULL");                  return EINVAL;          } @@ -1484,7 +1532,9 @@ nfs3_lookup (rpcsvc_request_t *req, struct nfs3_fh *fh, int fhlen, char *name)                                            nfs3_lookup_resume);          if (ret < 0) { -                gf_log (GF_NFS, GF_LOG_ERROR, "failed to start hard reslove"); +                gf_msg (GF_NFS, GF_LOG_ERROR, -ret, +                        NFS_MSG_HARD_RESOLVE_FAIL, +                        "failed to start hard reslove");                  stat = nfs3_errno_to_nfsstat3 (-ret);          } @@ -1517,14 +1567,17 @@ nfs3svc_lookup (rpcsvc_request_t *req)          nfs3_prep_lookup3args (&args, &fh, name);          if (xdr_to_lookup3args (req->msg[0], &args) <= 0) { -                gf_log (GF_NFS3, GF_LOG_ERROR, "Error decoding args"); +                gf_msg (GF_NFS3, GF_LOG_ERROR, 0, NFS_MSG_ARGS_DECODE_ERROR, +                        "Error decoding args");                  rpcsvc_request_seterr (req, GARBAGE_ARGS);                  goto rpcerr;          }          ret = nfs3_lookup (req, &fh, args.what.dir.data.data_len, name);          if ((ret < 0) && (ret != RPCSVC_ACTOR_IGNORE)) { -                gf_log (GF_NFS3, GF_LOG_ERROR, "LOOKUP procedure failed"); +                gf_msg (GF_NFS3, GF_LOG_ERROR, -ret, +                        NFS_MSG_LOOKUP_PROC_FAIL, +                        "LOOKUP procedure failed");                  rpcsvc_request_seterr (req, SYSTEM_ERR);                  ret = RPCSVC_ACTOR_ERROR;          } @@ -1557,7 +1610,7 @@ nfs3svc_access_cbk (call_frame_t *frame, void *cookie, xlator_t *this,          cs = frame->local;          if (op_ret == -1) { -                gf_log (GF_NFS, GF_LOG_WARNING, +                gf_msg (GF_NFS, GF_LOG_WARNING, op_errno, NFS_MSG_ACCESS_CBK,                          "%x: %s => -1 (%s)", rpcsvc_request_xid (cs->req),                          cs->resolvedloc.path, strerror (op_errno));                  status = nfs3_cbk_errno_status (op_ret, op_errno); @@ -1580,8 +1633,8 @@ nfs3_access_resume (void *carg)          nfs3_call_state_t       *cs = NULL;          if (!carg) { -                gf_log (GF_NFS3, GF_LOG_ERROR, "Invalid argument," -                        " carg value NULL"); +                gf_msg (GF_NFS3, GF_LOG_ERROR, EINVAL, NFS_MSG_INVALID_ENTRY, +                        "Invalid argument, carg value NULL");                  return EINVAL;          } @@ -1667,14 +1720,17 @@ nfs3svc_access (rpcsvc_request_t *req)          nfs3_prep_access3args (&args, &fh);          if (xdr_to_access3args (req->msg[0], &args) <= 0) { -                gf_log (GF_NFS3, GF_LOG_ERROR, "Error decoding args"); +                gf_msg (GF_NFS3, GF_LOG_ERROR, 0, NFS_MSG_ARGS_DECODE_ERROR, +                        "Error decoding args");                  rpcsvc_request_seterr (req, GARBAGE_ARGS);                  goto rpcerr;          }          ret = nfs3_access (req, &fh, args.access);          if ((ret < 0) && (ret != RPCSVC_ACTOR_IGNORE)) { -                gf_log (GF_NFS3, GF_LOG_ERROR, "ACCESS procedure failed"); +                gf_msg (GF_NFS3, GF_LOG_ERROR, -ret, +                        NFS_MSG_ACCESS_PROC_FAIL, +                        "ACCESS procedure failed");                  rpcsvc_request_seterr (req, SYSTEM_ERR);                  ret = RPCSVC_ACTOR_ERROR;          } @@ -1710,7 +1766,7 @@ nfs3svc_readlink_cbk (call_frame_t *frame, void *cookie, xlator_t *this,          cs = frame->local;          if (op_ret == -1) { -                gf_log (GF_NFS, GF_LOG_WARNING, +                gf_msg (GF_NFS, GF_LOG_WARNING, op_errno, NFS_MSG_READLINK_CBK,                          "%x: %s => -1 (%s)", rpcsvc_request_xid (cs->req),                          cs->resolvedloc.path, strerror (op_errno));                  stat = nfs3_cbk_errno_status (op_ret, op_errno); @@ -1771,7 +1827,8 @@ nfs3_readlink (rpcsvc_request_t *req, struct nfs3_fh *fh)          nfs3_call_state_t               *cs = NULL;          if ((!req) || (!fh)) { -                gf_log (GF_NFS3, GF_LOG_ERROR, "Bad arguments"); +                gf_msg (GF_NFS3, GF_LOG_ERROR, EINVAL, NFS_MSG_INVALID_ENTRY, +                        "Bad arguments");                  return -1;          } @@ -1814,14 +1871,17 @@ nfs3svc_readlink (rpcsvc_request_t *req)          nfs3_prep_readlink3args (&args, &fh);          if (xdr_to_readlink3args (req->msg[0], &args) <= 0) { -                gf_log (GF_NFS3, GF_LOG_ERROR, "Error decoding args"); +                gf_msg (GF_NFS3, GF_LOG_ERROR, 0, NFS_MSG_ARGS_DECODE_ERROR, +                        "Error decoding args");                  rpcsvc_request_seterr (req, GARBAGE_ARGS);                  goto rpcerr;          }          ret = nfs3_readlink (req, &fh);          if ((ret < 0) && (ret != RPCSVC_ACTOR_IGNORE)) { -                gf_log (GF_NFS3, GF_LOG_ERROR, "READLINK procedure failed"); +                gf_msg (GF_NFS3, GF_LOG_ERROR, -ret, +                        NFS_MSG_READLINK_PROC_FAIL, +                        "READLINK procedure failed");                  rpcsvc_request_seterr (req, SYSTEM_ERR);                  ret = RPCSVC_ACTOR_ERROR;          } @@ -1878,7 +1938,7 @@ nfs3svc_read_cbk (call_frame_t *frame, void *cookie, xlator_t *this,          cs = frame->local;          if (op_ret == -1) { -                gf_log (GF_NFS, GF_LOG_WARNING, +                gf_msg (GF_NFS, GF_LOG_WARNING, op_errno, NFS_MSG_READ_CBK,                          "%x: %s => -1 (%s)", rpcsvc_request_xid (cs->req),                          cs->resolvedloc.path, strerror (op_errno));                  stat = nfs3_cbk_errno_status (op_ret, op_errno); @@ -1946,7 +2006,8 @@ nfs3_read_resume (void *carg)          nfs3_check_fh_resolve_status (cs, stat, nfs3err);          fd = fd_anonymous (cs->resolvedloc.inode);          if (!fd) { -                gf_log (GF_NFS3, GF_LOG_ERROR, "Failed to create anonymous fd"); +                gf_msg (GF_NFS3, GF_LOG_ERROR, 0, NFS_MSG_ANONYMOUS_FD_FAIL, +                        "Failed to create anonymous fd");                  goto nfs3err;          } @@ -1975,7 +2036,8 @@ nfs3_read (rpcsvc_request_t *req, struct nfs3_fh *fh, offset3 offset,          nfs3_call_state_t               *cs = NULL;          if ((!req) || (!fh)) { -                gf_log (GF_NFS3, GF_LOG_ERROR, "Bad arguments"); +                gf_msg (GF_NFS3, GF_LOG_ERROR, EINVAL, NFS_MSG_INVALID_ENTRY, +                        "Bad arguments");                  return -1;          } @@ -2018,14 +2080,17 @@ nfs3svc_read (rpcsvc_request_t *req)          nfs3_prep_read3args (&args, &fh);          if (xdr_to_read3args (req->msg[0], &args) <= 0) { -                gf_log (GF_NFS3, GF_LOG_ERROR, "Error decoding args"); +                gf_msg (GF_NFS3, GF_LOG_ERROR, 0, NFS_MSG_ARGS_DECODE_ERROR, +                        "Error decoding args");                  rpcsvc_request_seterr (req, GARBAGE_ARGS);                  goto rpcerr;          }          ret = nfs3_read (req, &fh, args.offset, args.count);          if ((ret < 0) && (ret != RPCSVC_ACTOR_IGNORE)) { -                gf_log (GF_NFS3, GF_LOG_ERROR, "READ procedure failed"); +                gf_msg (GF_NFS3, GF_LOG_ERROR, -ret, +                        NFS_MSG_READ_FAIL, +                        "READ procedure failed");                  rpcsvc_request_seterr (req, SYSTEM_ERR);                  ret = RPCSVC_ACTOR_ERROR;          } @@ -2065,7 +2130,7 @@ nfs3svc_write_fsync_cbk (call_frame_t *frame, void *cookie, xlator_t *this,          nfs3 = rpcsvc_request_program_private (cs->req);          if (op_ret == -1) { -                gf_log (GF_NFS, GF_LOG_WARNING, +                gf_msg (GF_NFS, GF_LOG_WARNING, op_errno, NFS_MSG_FSYNC_CBK,                          "%x: %s => -1 (%s)", rpcsvc_request_xid (cs->req),                          cs->resolvedloc.path, strerror (op_errno));                  stat = nfs3_cbk_errno_status (op_ret, op_errno); @@ -2125,7 +2190,7 @@ nfs3svc_write_cbk (call_frame_t *frame, void *cookie, xlator_t *this,          cs = frame->local;          nfs3 = rpcsvc_request_program_private (cs->req);          if (op_ret == -1) { -                gf_log (GF_NFS, GF_LOG_WARNING, +                gf_msg (GF_NFS, GF_LOG_WARNING, op_errno, NFS_MSG_WRITE_CBK,                          "%x: %s => -1 (%s)", rpcsvc_request_xid (cs->req),                          cs->resolvedloc.path, strerror (op_errno));                  stat = nfs3_cbk_errno_status (op_ret, op_errno); @@ -2194,7 +2259,8 @@ nfs3_write_resume (void *carg)          nfs3_check_fh_resolve_status (cs, stat, nfs3err);          fd = fd_anonymous (cs->resolvedloc.inode);          if (!fd) { -                gf_log (GF_NFS3, GF_LOG_ERROR, "Failed to create anonymous fd"); +                gf_msg (GF_NFS3, GF_LOG_ERROR, 0, NFS_MSG_ANONYMOUS_FD_FAIL, +                        "Failed to create anonymous fd");                  goto nfs3err;          } @@ -2245,7 +2311,8 @@ nfs3_write (rpcsvc_request_t *req, struct nfs3_fh *fh, offset3 offset,          nfs3_call_state_t               *cs = NULL;          if ((!req) || (!fh) || (!payload.iov_base)) { -                gf_log (GF_NFS3, GF_LOG_ERROR, "Bad arguments"); +                gf_msg (GF_NFS3, GF_LOG_ERROR, EINVAL, NFS_MSG_INVALID_ENTRY, +                        "Bad arguments");                  return -1;          } @@ -2309,7 +2376,8 @@ nfs3svc_write_vecsizer (int state, ssize_t *readsize, char *base_addr,                  ret = 0;                  *readsize = 0;          } else -                gf_log ("nfs", GF_LOG_ERROR, "state wrong"); +                gf_msg ("nfs", GF_LOG_ERROR, 0, NFS_MSG_STATE_WRONG, +                        "state wrong");          return ret;  } @@ -2326,7 +2394,8 @@ nfs3svc_write (rpcsvc_request_t *req)                  return ret;          nfs3_prep_write3args (&args, &fh);          if (xdr_to_write3args (req->msg[0], &args) <= 0) { -                gf_log (GF_NFS3, GF_LOG_ERROR, "Error decoding args"); +                gf_msg (GF_NFS3, GF_LOG_ERROR, 0, NFS_MSG_ARGS_DECODE_ERROR, +                        "Error decoding args");                  rpcsvc_request_seterr (req, GARBAGE_ARGS);                  goto rpcerr;          } @@ -2340,7 +2409,9 @@ nfs3svc_write (rpcsvc_request_t *req)          ret = nfs3_write (req, &fh, args.offset, args.count, args.stable,                            req->msg[1], rpcsvc_request_iobref_ref (req));          if ((ret < 0) && (ret != RPCSVC_ACTOR_IGNORE)) { -                gf_log (GF_NFS3, GF_LOG_ERROR, "WRITE procedure failed"); +                gf_msg (GF_NFS3, GF_LOG_ERROR, -ret, +                        NFS_MSG_WRITE_FAIL, +                        "WRITE procedure failed");                  rpcsvc_request_seterr (req, SYSTEM_ERR);                  ret = RPCSVC_ACTOR_ERROR;          } @@ -2377,9 +2448,10 @@ nfs3svc_create_setattr_cbk (call_frame_t *frame, void *cookie, xlator_t *this,          cs = frame->local;          if (op_ret == -1) { -                gf_log (GF_NFS, GF_LOG_WARNING, -                        "%x: %s => -1 (%s)", rpcsvc_request_xid (cs->req), -                        cs->resolvedloc.path, strerror (op_errno)); +                gf_msg (GF_NFS, GF_LOG_WARNING, op_errno, +                        NFS_MSG_CREATE_SETATTR_CBK, "%x: %s => -1 (%s)", +                        rpcsvc_request_xid (cs->req), cs->resolvedloc.path, +                        strerror (op_errno));                  stat = nfs3_cbk_errno_status (op_ret, op_errno);                  goto nfs3err;          } @@ -2410,7 +2482,7 @@ nfs3svc_create_cbk (call_frame_t *frame, void *cookie, xlator_t *this,          cs = frame->local;          if (op_ret == -1) { -                gf_log (GF_NFS, GF_LOG_WARNING, +                gf_msg (GF_NFS, GF_LOG_WARNING, op_errno, NFS_MSG_CREATE_CBK,                          "%x: %s => -1 (%s)", rpcsvc_request_xid (cs->req),                          cs->resolvedloc.path, strerror (op_errno));                  stat = nfs3_cbk_errno_status (op_ret, op_errno); @@ -2514,9 +2586,10 @@ nfs3svc_create_stat_cbk (call_frame_t *frame, void *cookie, xlator_t *this,          cs = frame->local;          nfs_request_user_init (&nfu, cs->req);          if (op_ret == -1) { -                gf_log (GF_NFS, GF_LOG_WARNING, -                        "%x: %s => -1 (%s)", rpcsvc_request_xid (cs->req), -                        cs->resolvedloc.path, strerror (op_errno)); +                gf_msg (GF_NFS, GF_LOG_WARNING, op_errno, +                        NFS_MSG_CREATE_STAT_CBK, "%x: %s => -1 (%s)", +                        rpcsvc_request_xid (cs->req), cs->resolvedloc.path, +                        strerror (op_errno));                  ret = -op_errno;                  stat = nfs3_cbk_errno_status (op_ret, op_errno);                  goto nfs3err; @@ -2524,13 +2597,13 @@ nfs3svc_create_stat_cbk (call_frame_t *frame, void *cookie, xlator_t *this,          if ((cs->stbuf.ia_mtime == buf->ia_mtime) &&              (cs->stbuf.ia_atime == buf->ia_atime)) { -                gf_log (GF_NFS3, GF_LOG_DEBUG, +                gf_msg_debug (GF_NFS3, 0,                          "Create req retransmitted verf %x %x",                          cs->stbuf.ia_mtime, cs->stbuf.ia_atime);                  stat = NFS3_OK;                  nfs3_fh_build_child_fh (&cs->parent, buf, &cs->fh);          } else { -                gf_log (GF_NFS3, GF_LOG_DEBUG, +                gf_msg_debug (GF_NFS3, 0,                          "File already exist new_verf %x %x"                          "old_verf %x %x", cs->stbuf.ia_mtime,                          cs->stbuf.ia_atime, @@ -2684,7 +2757,8 @@ nfs3svc_create (rpcsvc_request_t *req)          nfs3_prep_create3args (&args, &dirfh, name);          if (xdr_to_create3args (req->msg[0], &args) <= 0) { -                gf_log (GF_NFS3, GF_LOG_ERROR, "Error decoding args"); +                gf_msg (GF_NFS3, GF_LOG_ERROR, 0, NFS_MSG_ARGS_DECODE_ERROR, +                        "Error decoding args");                  rpcsvc_request_seterr (req, GARBAGE_ARGS);                  goto rpcerr;          } @@ -2695,7 +2769,8 @@ nfs3svc_create (rpcsvc_request_t *req)          ret = nfs3_create (req, &dirfh, name, args.how.mode,                             &args.how.createhow3_u.obj_attributes, cverf);          if ((ret < 0) && (ret != RPCSVC_ACTOR_IGNORE)) { -                gf_log (GF_NFS3, GF_LOG_ERROR, "CREATE procedure failed"); +                gf_msg (GF_NFS3, GF_LOG_ERROR, -ret, NFS_MSG_CREATE_FAIL, +                        "CREATE procedure failed");                  rpcsvc_request_seterr (req, SYSTEM_ERR);                  ret = RPCSVC_ACTOR_ERROR;          } @@ -2731,9 +2806,10 @@ nfs3svc_mkdir_setattr_cbk (call_frame_t *frame, void *cookie, xlator_t *this,          cs = frame->local;          if (op_ret == -1) { -                gf_log (GF_NFS, GF_LOG_WARNING, -                        "%x: %s => -1 (%s)", rpcsvc_request_xid (cs->req), -                        cs->resolvedloc.path, strerror (op_errno)); +                gf_msg (GF_NFS, GF_LOG_WARNING, op_errno, +                        NFS_MSG_MKDIR_SETATTR_CBK, "%x: %s => -1 (%s)", +                        rpcsvc_request_xid (cs->req), cs->resolvedloc.path, +                        strerror (op_errno));                  stat = nfs3_cbk_errno_status (op_ret, op_errno);                  goto nfs3err;          } @@ -2763,7 +2839,7 @@ nfs3svc_mkdir_cbk (call_frame_t *frame, void *cookie, xlator_t *this,          cs = frame->local;          if (op_ret == -1) { -                gf_log (GF_NFS, GF_LOG_WARNING, +                gf_msg (GF_NFS, GF_LOG_WARNING, op_errno, NFS_MSG_MKDIR_CBK,                          "%x: %s => -1 (%s)", rpcsvc_request_xid (cs->req),                          cs->resolvedloc.path, strerror (op_errno));                  stat = nfs3_cbk_errno_status (op_ret, op_errno); @@ -2849,7 +2925,8 @@ nfs3_mkdir (rpcsvc_request_t *req, struct nfs3_fh *dirfh, char *name,          nfs3_call_state_t               *cs = NULL;          if ((!req) || (!dirfh) || (!name) || (!sattr)) { -                gf_log (GF_NFS3, GF_LOG_ERROR, "Bad arguments"); +                gf_msg (GF_NFS3, GF_LOG_ERROR, EINVAL, NFS_MSG_INVALID_ENTRY, +                        "Bad arguments");                  return -1;          } @@ -2895,14 +2972,16 @@ nfs3svc_mkdir (rpcsvc_request_t *req)                  return ret;          nfs3_prep_mkdir3args (&args, &dirfh, name);          if (xdr_to_mkdir3args (req->msg[0], &args) <= 0) { -                gf_log (GF_NFS3, GF_LOG_ERROR, "Error decoding args"); +                gf_msg (GF_NFS3, GF_LOG_ERROR, 0, NFS_MSG_ARGS_DECODE_ERROR, +                        "Error decoding args");                  rpcsvc_request_seterr (req, GARBAGE_ARGS);                  goto rpcerr;          }          ret = nfs3_mkdir (req, &dirfh, name, &args.attributes);          if ((ret < 0) && (ret != RPCSVC_ACTOR_IGNORE)) { -                gf_log (GF_NFS3, GF_LOG_ERROR, "MKDIR procedure failed"); +                gf_msg (GF_NFS3, GF_LOG_ERROR, -ret, NFS_MSG_DIR_OP_FAIL, +                        "MKDIR procedure failed");                  rpcsvc_request_seterr (req, SYSTEM_ERR);                  ret = RPCSVC_ACTOR_ERROR;          } @@ -2941,7 +3020,7 @@ nfs3svc_symlink_cbk (call_frame_t *frame, void *cookie, xlator_t *this,          cs = frame->local;          if (op_ret == -1) { -                gf_log (GF_NFS, GF_LOG_WARNING, +                gf_msg (GF_NFS, GF_LOG_WARNING, op_errno, NFS_MSG_SYMLINK_CBK,                          "%x: %s => -1 (%s)", rpcsvc_request_xid (cs->req),                          cs->resolvedloc.path, strerror (op_errno));                  stat = nfs3_cbk_errno_status (op_ret, op_errno); @@ -3003,7 +3082,8 @@ nfs3_symlink (rpcsvc_request_t *req, struct nfs3_fh *dirfh, char *name,          nfs3_call_state_t               *cs = NULL;          if ((!req) || (!dirfh) || (!name) || (!target) || (!sattr)) { -                gf_log (GF_NFS3, GF_LOG_ERROR, "Bad arguments"); +                gf_msg (GF_NFS3, GF_LOG_ERROR, EINVAL, NFS_MSG_INVALID_ENTRY, +                        "Bad arguments");                  return -1;          } @@ -3058,7 +3138,8 @@ nfs3svc_symlink (rpcsvc_request_t *req)                  return ret;          nfs3_prep_symlink3args (&args, &dirfh, name, target);          if (xdr_to_symlink3args (req->msg[0], &args) <= 0) { -                gf_log (GF_NFS3, GF_LOG_ERROR, "Error decoding args"); +                gf_msg (GF_NFS3, GF_LOG_ERROR, 0, NFS_MSG_ARGS_DECODE_ERROR, +                        "Error decoding args");                  rpcsvc_request_seterr (req, GARBAGE_ARGS);                  goto rpcerr;          } @@ -3066,7 +3147,8 @@ nfs3svc_symlink (rpcsvc_request_t *req)          ret = nfs3_symlink (req, &dirfh, name, target,                              &args.symlink.symlink_attributes);          if ((ret < 0) && (ret != RPCSVC_ACTOR_IGNORE)) { -                gf_log (GF_NFS3, GF_LOG_ERROR, "SYMLINK procedure failed"); +                gf_msg (GF_NFS3, GF_LOG_ERROR, EXDEV, NFS_MSG_SYMLINK_FAIL, +                        "SYMLINK procedure failed");                  rpcsvc_request_seterr (req, SYSTEM_ERR);                  ret = RPCSVC_ACTOR_ERROR;          } @@ -3103,7 +3185,7 @@ nfs3svc_mknod_setattr_cbk (call_frame_t *frame, void *cookie, xlator_t *this,          cs = frame->local;          if (op_ret == -1) { -                gf_log (GF_NFS, GF_LOG_WARNING, +                gf_msg (GF_NFS, GF_LOG_WARNING, op_errno, NFS_MSG_MKNOD_CBK,                          "%x: %s => -1 (%s)", rpcsvc_request_xid (cs->req),                          cs->resolvedloc.path, strerror (op_errno));                  stat = nfs3_cbk_errno_status (op_ret, op_errno); @@ -3135,7 +3217,7 @@ nfs3svc_mknod_cbk (call_frame_t *frame, void *cookie, xlator_t *this,          cs = frame->local;          if (op_ret == -1) { -                gf_log (GF_NFS, GF_LOG_WARNING, +                gf_msg (GF_NFS, GF_LOG_WARNING, op_errno, NFS_MSG_MKNOD_CBK,                          "%x: %s => -1 (%s)", rpcsvc_request_xid (cs->req),                          cs->resolvedloc.path, strerror (op_errno));                  stat = nfs3_cbk_errno_status (op_ret, op_errno); @@ -3282,7 +3364,8 @@ nfs3_mknod (rpcsvc_request_t *req, struct nfs3_fh *fh, char *name,          sattr3                          *sattr = NULL;          if ((!req) || (!fh) || (!name) || (!nodedata)) { -                gf_log (GF_NFS3, GF_LOG_ERROR, "Bad arguments"); +                gf_msg (GF_NFS3, GF_LOG_ERROR, EINVAL, NFS_MSG_INVALID_ENTRY, +                        "Bad arguments");                  return -1;          } @@ -3351,14 +3434,16 @@ nfs3svc_mknod (rpcsvc_request_t *req)                  return ret;          nfs3_prep_mknod3args (&args, &fh, name);          if (xdr_to_mknod3args (req->msg[0], &args) <= 0) { -                gf_log (GF_NFS3, GF_LOG_ERROR, "Error decoding args"); +                gf_msg (GF_NFS3, GF_LOG_ERROR, 0, NFS_MSG_ARGS_DECODE_ERROR, +                        "Error decoding args");                  rpcsvc_request_seterr (req, GARBAGE_ARGS);                  goto rpcerr;          }          ret = nfs3_mknod (req, &fh, name, &args.what);          if ((ret < 0) && (ret != RPCSVC_ACTOR_IGNORE)) { -                gf_log (GF_NFS3, GF_LOG_ERROR, "MKNOD procedure failed"); +                gf_msg (GF_NFS3, GF_LOG_ERROR, -ret, NFS_MSG_MKNOD_FAIL, +                        "MKNOD procedure failed");                  rpcsvc_request_seterr (req, SYSTEM_ERR);                  ret = RPCSVC_ACTOR_ERROR;          } @@ -3393,7 +3478,7 @@ nfs3svc_remove_cbk (call_frame_t *frame, void *cookie, xlator_t *this,          cs = frame->local;          if (op_ret == -1) { -                gf_log (GF_NFS, GF_LOG_WARNING, +                gf_msg (GF_NFS, GF_LOG_WARNING, op_errno, NFS_MSG_REMOVE_CBK,                          "%x: %s => -1 (%s)", rpcsvc_request_xid (cs->req),                          cs->resolvedloc.path, strerror (op_errno));                  stat = nfs3_cbk_errno_status (op_ret, op_errno); @@ -3471,7 +3556,8 @@ nfs3_remove (rpcsvc_request_t *req, struct nfs3_fh *fh, char *name)          nfs3_call_state_t               *cs = NULL;          if ((!req) || (!fh) || (!name)) { -                gf_log (GF_NFS3, GF_LOG_ERROR, "Bad arguments"); +                gf_msg (GF_NFS3, GF_LOG_ERROR, EINVAL, NFS_MSG_INVALID_ENTRY, +                        "Bad arguments");                  return -1;          } @@ -3517,14 +3603,16 @@ nfs3svc_remove (rpcsvc_request_t *req)                  return ret;          nfs3_prep_remove3args (&args, &fh, name);          if (xdr_to_remove3args (req->msg[0], &args) <= 0) { -                gf_log (GF_NFS3, GF_LOG_ERROR, "Error decoding args"); +                gf_msg (GF_NFS3, GF_LOG_ERROR, 0, NFS_MSG_ARGS_DECODE_ERROR, +                        "Error decoding args");                  rpcsvc_request_seterr (req, GARBAGE_ARGS);                  goto rpcerr;          }          ret = nfs3_remove (req, &fh, name);          if ((ret < 0) && (ret != RPCSVC_ACTOR_IGNORE)) { -                gf_log (GF_NFS3, GF_LOG_ERROR, "REMOVE procedure failed"); +                gf_msg (GF_NFS3, GF_LOG_ERROR, 0, NFS_MSG_REMOVE_FAIL, +                        "REMOVE procedure failed");                  rpcsvc_request_seterr (req, SYSTEM_ERR);                  ret = RPCSVC_ACTOR_ERROR;          } @@ -3559,7 +3647,7 @@ nfs3svc_rmdir_cbk (call_frame_t *frame, void *cookie, xlator_t *this,          cs = frame->local;          if (op_ret == -1) { -                gf_log (GF_NFS, GF_LOG_WARNING, +                gf_msg (GF_NFS, GF_LOG_WARNING, op_errno, NFS_MSG_RMDIR_CBK,                          "%x: %s => -1 (%s)", rpcsvc_request_xid (cs->req),                          cs->resolvedloc.path, strerror (op_errno));                  stat = nfs3_cbk_errno_status (op_ret, op_errno); @@ -3617,7 +3705,8 @@ nfs3_rmdir (rpcsvc_request_t *req, struct nfs3_fh *fh, char *name)          nfs3_call_state_t               *cs = NULL;          if ((!req) || (!fh) || (!name)) { -                gf_log (GF_NFS3, GF_LOG_ERROR, "Bad arguments"); +                gf_msg (GF_NFS3, GF_LOG_ERROR, EINVAL, NFS_MSG_INVALID_ENTRY, +                        "Bad arguments");                  return -1;          } @@ -3663,14 +3752,16 @@ nfs3svc_rmdir (rpcsvc_request_t *req)                  return ret;          nfs3_prep_rmdir3args (&args, &fh, name);          if (xdr_to_rmdir3args (req->msg[0], &args) <= 0) { -                gf_log (GF_NFS3, GF_LOG_ERROR, "Error decoding args"); +                gf_msg (GF_NFS3, GF_LOG_ERROR, 0, NFS_MSG_ARGS_DECODE_ERROR, +                        "Error decoding args");                  rpcsvc_request_seterr (req, GARBAGE_ARGS);                  goto rpcerr;          }          ret = nfs3_rmdir (req, &fh, name);          if ((ret < 0) && (ret != RPCSVC_ACTOR_IGNORE)) { -                gf_log (GF_NFS3, GF_LOG_ERROR, "RMDIR procedure failed"); +                gf_msg (GF_NFS3, GF_LOG_ERROR, -ret, NFS_MSG_DIR_OP_FAIL, +                        "RMDIR procedure failed");                  rpcsvc_request_seterr (req, SYSTEM_ERR);                  ret = RPCSVC_ACTOR_ERROR;          } @@ -3713,7 +3804,7 @@ nfs3svc_rename_cbk (call_frame_t *frame, void *cookie, xlator_t *this,          cs = frame->local;          if (op_ret == -1) { -                gf_log (GF_NFS, GF_LOG_WARNING, +                gf_msg (GF_NFS, GF_LOG_WARNING, op_errno, NFS_MSG_RENAME_CBK,                          "%x: rename %s -> %s => -1 (%s)",                          rpcsvc_request_xid (cs->req), cs->oploc.path,                          cs->resolvedloc.path, strerror (op_errno)); @@ -3812,7 +3903,8 @@ nfs3_rename (rpcsvc_request_t *req, struct nfs3_fh *olddirfh, char *oldname,          nfs3_call_state_t               *cs = NULL;          if ((!req) || (!olddirfh) || (!oldname) || (!newdirfh) || (!newname)) { -                gf_log (GF_NFS3, GF_LOG_ERROR, "Bad arguments"); +                gf_msg (GF_NFS3, GF_LOG_ERROR, EINVAL, NFS_MSG_INVALID_ENTRY, +                        "Bad arguments");                  return -1;          } @@ -3874,14 +3966,16 @@ nfs3svc_rename (rpcsvc_request_t *req)                  return ret;          nfs3_prep_rename3args (&args, &olddirfh, oldname, &newdirfh, newname);          if (xdr_to_rename3args (req->msg[0], &args) <= 0) { -                gf_log (GF_NFS3, GF_LOG_ERROR, "Error decoding args"); +                gf_msg (GF_NFS3, GF_LOG_ERROR, 0, NFS_MSG_ARGS_DECODE_ERROR, +                        "Error decoding args");                  rpcsvc_request_seterr (req, GARBAGE_ARGS);                  goto rpcerr;          }          ret = nfs3_rename (req, &olddirfh, oldname, &newdirfh, newname);          if ((ret < 0) && (ret != RPCSVC_ACTOR_IGNORE)) { -                gf_log (GF_NFS3, GF_LOG_ERROR, "RENAME procedure failed"); +                gf_msg (GF_NFS3, GF_LOG_ERROR, 0, NFS_MSG_RENAME_FAIL, +                        "RENAME procedure failed");                  rpcsvc_request_seterr (req, SYSTEM_ERR);                  ret = RPCSVC_ACTOR_ERROR;          } @@ -3918,7 +4012,7 @@ nfs3svc_link_cbk (call_frame_t *frame, void *cookie, xlator_t *this,          cs = frame->local;          if (op_ret == -1) { -                gf_log (GF_NFS, GF_LOG_WARNING, +                gf_msg (GF_NFS, GF_LOG_WARNING, op_errno, NFS_MSG_LINK_CBK,                          "%x: link %s <- %s => -1 (%s)",                          rpcsvc_request_xid (cs->req), cs->oploc.path,                          cs->resolvedloc.path, strerror (op_errno)); @@ -4009,7 +4103,8 @@ nfs3_link (rpcsvc_request_t *req, struct nfs3_fh *targetfh,          nfs3_call_state_t       *cs = NULL;          if ((!req) || (!targetfh) || (!dirfh) || (!newname)) { -                gf_log (GF_NFS3, GF_LOG_ERROR, "Bad arguments"); +                gf_msg (GF_NFS3, GF_LOG_ERROR, EINVAL, NFS_MSG_INVALID_ENTRY, +                        "Bad arguments");                  return -1;          } @@ -4063,14 +4158,16 @@ nfs3svc_link (rpcsvc_request_t *req)                  return ret;          nfs3_prep_link3args (&args, &targetfh, &dirfh, newpath);          if (xdr_to_link3args (req->msg[0], &args) <= 0) { -                gf_log (GF_NFS3, GF_LOG_ERROR, "Error decoding args"); +                gf_msg (GF_NFS3, GF_LOG_ERROR, 0, NFS_MSG_ARGS_DECODE_ERROR, +                        "Error decoding args");                  rpcsvc_request_seterr (req, GARBAGE_ARGS);                  goto rpcerr;          }          ret = nfs3_link (req, &targetfh, &dirfh, newpath);          if ((ret < 0) && (ret != RPCSVC_ACTOR_IGNORE)) { -                gf_log (GF_NFS3, GF_LOG_ERROR, "LINK procedure failed"); +                gf_msg (GF_NFS3, GF_LOG_ERROR, EXDEV, NFS_MSG_LINK_FAIL, +                        "LINK procedure failed");                  rpcsvc_request_seterr (req, SYSTEM_ERR);                  ret = RPCSVC_ACTOR_ERROR;          } @@ -4129,7 +4226,8 @@ nfs3svc_readdir_fstat_cbk (call_frame_t *frame, void *cookie, xlator_t *this,          cs = frame->local;          if (op_ret == -1) { -                gf_log (GF_NFS, GF_LOG_WARNING, +                gf_msg (GF_NFS, GF_LOG_WARNING, op_errno, +                        NFS_MSG_READDIR_FSTAT_CBK,                          "%x: %s => -1 (%s)", rpcsvc_request_xid (cs->req),                          cs->resolvedloc.path, strerror (op_errno));                  stat = nfs3_cbk_errno_status (op_ret, op_errno); @@ -4140,7 +4238,7 @@ nfs3svc_readdir_fstat_cbk (call_frame_t *frame, void *cookie, xlator_t *this,           * readdir'ing.           */          if (cs->operrno == ENOENT) { -                gf_log (GF_NFS3, GF_LOG_TRACE, "Reached end-of-directory"); +                gf_msg_trace (GF_NFS3, 0, "Reached end-of-directory");                  is_eof = 1;          } @@ -4188,7 +4286,7 @@ nfs3svc_readdir_cbk (call_frame_t *frame, void *cookie, xlator_t *this,          cs = frame->local;          if (op_ret == -1) { -                gf_log (GF_NFS, GF_LOG_WARNING, +                gf_msg (GF_NFS, GF_LOG_WARNING, op_errno, NFS_MSG_READDIR_CBK,                          "%x: %s => -1 (%s)", rpcsvc_request_xid (cs->req),                          cs->resolvedloc.path, strerror (op_errno));                  stat = nfs3_cbk_errno_status (op_ret, op_errno); @@ -4320,7 +4418,8 @@ nfs3_readdir_open_resume (void *carg)          nfs3_check_fh_resolve_status (cs, stat, nfs3err);          cs->fd = fd_anonymous (cs->resolvedloc.inode);          if (!cs->fd) { -                gf_log (GF_NFS3, GF_LOG_ERROR, "Faile to create anonymous fd"); +                gf_msg (GF_NFS3, GF_LOG_ERROR, 0, NFS_MSG_ANONYMOUS_FD_FAIL, +                        "Fail to create anonymous fd");                  goto nfs3err;          } @@ -4336,7 +4435,9 @@ nfs3_readdir_open_resume (void *carg)                  ret = nfs_opendir (cs->nfsx, cs->vol, &nfu, &cs->resolvedloc,                                     nfs3svc_readdir_opendir_cbk, cs);                  if (ret < 0) { -                        gf_log (GF_NFS3, GF_LOG_ERROR, "auto-opendir failed"); +                        gf_msg (GF_NFS3, GF_LOG_ERROR, -ret, +                                NFS_MSG_DIR_OP_FAIL, +                                "auto-opendir failed");                  }          } @@ -4376,7 +4477,8 @@ nfs3_readdir (rpcsvc_request_t *req, struct nfs3_fh *fh, cookie3 cookie,          nfs3_call_state_t       *cs = NULL;          if ((!req) || (!fh)) { -                gf_log (GF_NFS3, GF_LOG_ERROR, "Bad arguments"); +                gf_msg (GF_NFS3, GF_LOG_ERROR, EINVAL, NFS_MSG_INVALID_ENTRY, +                        "Bad arguments");                  return -1;          } @@ -4435,7 +4537,8 @@ nfs3svc_readdir (rpcsvc_request_t *req)                  return ret;          nfs3_prep_readdir3args (&ra, &fh);          if (xdr_to_readdir3args (req->msg[0], &ra) <= 0) { -                gf_log (GF_NFS3, GF_LOG_ERROR, "Error decoding args"); +                gf_msg (GF_NFS3, GF_LOG_ERROR, 0, NFS_MSG_ARGS_DECODE_ERROR, +                        "Error decoding args");                  rpcsvc_request_seterr (req, GARBAGE_ARGS);                  goto rpcerr;          } @@ -4444,7 +4547,9 @@ nfs3svc_readdir (rpcsvc_request_t *req)          ret = nfs3_readdir (req, &fh, ra.cookie, verf, ra.count, 0);          if ((ret < 0) && (ret != RPCSVC_ACTOR_IGNORE)) { -                gf_log (GF_NFS3, GF_LOG_ERROR, "READDIR procedure failed"); +                gf_msg (GF_NFS3, GF_LOG_ERROR, -ret, +                        NFS_MSG_READDIR_FAIL, +                        "READDIR procedure failed");                  rpcsvc_request_seterr (req, SYSTEM_ERR);                  ret = RPCSVC_ACTOR_ERROR;          } @@ -4467,7 +4572,8 @@ nfs3svc_readdirp (rpcsvc_request_t *req)                  return ret;          nfs3_prep_readdirp3args (&ra, &fh);          if (xdr_to_readdirp3args (req->msg[0], &ra) <= 0) { -                gf_log (GF_NFS3, GF_LOG_ERROR, "Error decoding args"); +                gf_msg (GF_NFS3, GF_LOG_ERROR, 0, NFS_MSG_ARGS_DECODE_ERROR, +                        "Error decoding args");                  rpcsvc_request_seterr (req, GARBAGE_ARGS);                  goto rpcerr;          } @@ -4477,7 +4583,9 @@ nfs3svc_readdirp (rpcsvc_request_t *req)          ret = nfs3_readdir (req, &fh, ra.cookie, cverf, ra.dircount,                              ra.maxcount);          if ((ret < 0) && (ret != RPCSVC_ACTOR_IGNORE)) { -                gf_log (GF_NFS3, GF_LOG_ERROR, "READDIRP procedure failed"); +                gf_msg (GF_NFS3, GF_LOG_ERROR, -ret, +                        NFS_MSG_READDIRP_FAIL, +                        "READDIRP procedure failed");                  rpcsvc_request_seterr (req, SYSTEM_ERR);                  ret = RPCSVC_ACTOR_ERROR;          } @@ -4512,9 +4620,10 @@ nfs3_fsstat_stat_cbk (call_frame_t *frame, void *cookie, xlator_t *this,          cs = frame->local;          if (op_ret == -1) { -                gf_log (GF_NFS, GF_LOG_WARNING, -                        "%x: %s => -1 (%s)", rpcsvc_request_xid (cs->req), -                        cs->resolvedloc.path, strerror (op_errno)); +                gf_msg (GF_NFS, GF_LOG_WARNING, op_errno, +                        NFS_MSG_FSSTAT_STAT_CBK, "%x: %s => -1 (%s)", +                        rpcsvc_request_xid (cs->req), cs->resolvedloc.path, +                        strerror (op_errno));                  stat = nfs3_cbk_errno_status (op_ret, op_errno);          } else                  stat = NFS3_OK; @@ -4539,9 +4648,10 @@ nfs3_fsstat_statfs_cbk (call_frame_t *frame, void *cookie, xlator_t *this,          cs = frame->local;          if (op_ret == -1) { -                gf_log (GF_NFS, GF_LOG_WARNING, -                        "%x: %s => -1 (%s)", rpcsvc_request_xid (cs->req), -                        cs->resolvedloc.path, strerror (op_errno)); +                gf_msg (GF_NFS, GF_LOG_WARNING, op_errno, +                        NFS_MSG_FSSTAT_STATFS_CBK, "%x: %s => -1 (%s)", +                        rpcsvc_request_xid (cs->req), cs->resolvedloc.path, +                        strerror (op_errno));                  ret = -op_errno;                  stat = nfs3_cbk_errno_status (op_ret, op_errno);                  goto err; @@ -4612,7 +4722,8 @@ nfs3_fsstat (rpcsvc_request_t *req, struct nfs3_fh *fh)          nfs3_call_state_t               *cs = NULL;          if ((!req) || (!fh)) { -                gf_log (GF_NFS3, GF_LOG_ERROR, "Bad arguments"); +                gf_msg (GF_NFS3, GF_LOG_ERROR, EINVAL, NFS_MSG_INVALID_ENTRY, +                        "Bad arguments");                  return -1;          } @@ -4654,14 +4765,16 @@ nfs3svc_fsstat (rpcsvc_request_t *req)                  return ret;          nfs3_prep_fsstat3args (&args, &fh);          if (xdr_to_fsstat3args (req->msg[0], &args) <= 0) { -                gf_log (GF_NFS3, GF_LOG_ERROR, "Error decoding args"); +                gf_msg (GF_NFS3, GF_LOG_ERROR, 0, NFS_MSG_ARGS_DECODE_ERROR, +                        "Error decoding args");                  rpcsvc_request_seterr (req, GARBAGE_ARGS);                  goto rpcerr;          }          ret = nfs3_fsstat (req, &fh);          if ((ret < 0) && (ret != RPCSVC_ACTOR_IGNORE)) { -                gf_log (GF_NFS3, GF_LOG_ERROR, "FSTAT procedure failed"); +                gf_msg (GF_NFS3, GF_LOG_ERROR, 0, NFS_MSG_FSTAT_FAIL, +                        "FSTAT procedure failed");                  rpcsvc_request_seterr (req, SYSTEM_ERR);                  ret = RPCSVC_ACTOR_ERROR;          } @@ -4699,7 +4812,7 @@ nfs3svc_fsinfo_cbk (call_frame_t *frame, void *cookie, xlator_t *this,          cs = frame->local;          if (op_ret == -1) { -                gf_log (GF_NFS, GF_LOG_WARNING, +                gf_msg (GF_NFS, GF_LOG_WARNING, op_errno, NFS_MSG_FSINFO_CBK,                          "%x: %s => -1 (%s)", rpcsvc_request_xid (cs->req),                          cs->resolvedloc.path, strerror (op_errno));                  status = nfs3_cbk_errno_status (op_ret, op_errno); @@ -4759,7 +4872,8 @@ nfs3_fsinfo (rpcsvc_request_t *req, struct nfs3_fh *fh)          nfs3_call_state_t               *cs = NULL;          if ((!req) || (!fh)) { -                gf_log (GF_NFS3, GF_LOG_ERROR, "Bad arguments"); +                gf_msg (GF_NFS3, GF_LOG_ERROR, EINVAL, NFS_MSG_INVALID_ENTRY, +                        "Bad arguments");                  return -1;          } @@ -4799,14 +4913,16 @@ nfs3svc_fsinfo (rpcsvc_request_t *req)          nfs3_prep_fsinfo3args (&args, &root);          if (xdr_to_fsinfo3args (req->msg[0], &args) <= 0) { -                gf_log (GF_NFS3, GF_LOG_ERROR, "Error decoding arguments"); +                gf_msg (GF_NFS3, GF_LOG_ERROR, 0, NFS_MSG_ARGS_DECODE_ERROR, +                        "Error decoding arguments");                  rpcsvc_request_seterr (req, GARBAGE_ARGS);                  goto rpcerr;          }          ret = nfs3_fsinfo (req, &root);          if ((ret < 0) && (ret != RPCSVC_ACTOR_IGNORE)) { -                gf_log (GF_NFS3, GF_LOG_ERROR, "FSINFO procedure failed"); +                gf_msg (GF_NFS3, GF_LOG_ERROR, 0, NFS_MSG_FSINFO_FAIL, +                        "FSINFO procedure failed");                  rpcsvc_request_seterr (req, SYSTEM_ERR);                  ret = RPCSVC_ACTOR_ERROR;          } @@ -4841,7 +4957,7 @@ nfs3svc_pathconf_cbk (call_frame_t *frame, void *cookie, xlator_t *this,          cs = frame->local;          if (op_ret == -1) { -                gf_log (GF_NFS, GF_LOG_WARNING, +                gf_msg (GF_NFS, GF_LOG_WARNING, op_errno, NFS_MSG_PATHCONF_CBK,                          "%x: %s => -1 (%s)", rpcsvc_request_xid (cs->req),                          cs->resolvedloc.path, strerror (op_errno));                  stat = nfs3_cbk_errno_status (op_ret, op_errno); @@ -4901,7 +5017,8 @@ nfs3_pathconf (rpcsvc_request_t *req, struct nfs3_fh *fh)          nfs3_call_state_t               *cs = NULL;          if ((!req) || (!fh)) { -                gf_log (GF_NFS3, GF_LOG_ERROR, "Bad arguments"); +                gf_msg (GF_NFS3, GF_LOG_ERROR, EINVAL, NFS_MSG_INVALID_ENTRY, +                        "Bad arguments");                  return -1;          } @@ -4943,14 +5060,17 @@ nfs3svc_pathconf (rpcsvc_request_t *req)                  return ret;          nfs3_prep_pathconf3args (&args, &fh);          if (xdr_to_pathconf3args (req->msg[0], &args) <= 0) { -                gf_log (GF_NFS3, GF_LOG_ERROR, "Error decoding args"); +                gf_msg (GF_NFS3, GF_LOG_ERROR, 0, NFS_MSG_ARGS_DECODE_ERROR, +                        "Error decoding args");                  rpcsvc_request_seterr (req, GARBAGE_ARGS);                  goto rpcerr;          }          ret = nfs3_pathconf (req, &fh);          if ((ret < 0) && (ret != RPCSVC_ACTOR_IGNORE)) { -                gf_log (GF_NFS3, GF_LOG_ERROR, "PATHCONF procedure failed"); +                gf_msg (GF_NFS3, GF_LOG_ERROR, -ret, +                        NFS_MSG_PATHCONF_FAIL, +                        "PATHCONF procedure failed");                  rpcsvc_request_seterr (req, SYSTEM_ERR);                  ret = RPCSVC_ACTOR_ERROR;          } @@ -4985,7 +5105,7 @@ nfs3svc_commit_cbk (call_frame_t *frame, void *cookie, xlator_t *this,          cs = frame->local;          if (op_ret == -1) { -                gf_log (GF_NFS, GF_LOG_WARNING, +                gf_msg (GF_NFS, GF_LOG_WARNING, op_errno, NFS_MSG_COMMIT_CBK,                          "%x: %s => -1 (%s)", rpcsvc_request_xid (cs->req),                          cs->resolvedloc.path, strerror (op_errno));                  stat = nfs3_cbk_errno_status (op_ret, op_errno); @@ -5055,7 +5175,8 @@ nfs3_commit_open_resume (void *carg)          nfs3_check_fh_resolve_status (cs, stat, nfs3err);          cs->fd = fd_anonymous (cs->resolvedloc.inode);          if (!cs->fd) { -                gf_log (GF_NFS3, GF_LOG_ERROR, "Failed to create anonymous fd."); +                gf_msg (GF_NFS3, GF_LOG_ERROR, 0, NFS_MSG_ANONYMOUS_FD_FAIL, +                        "Failed to create anonymous fd.");                  goto nfs3err;          } @@ -5086,7 +5207,8 @@ nfs3_commit (rpcsvc_request_t *req, struct nfs3_fh *fh, offset3 offset,          nfs3_call_state_t               *cs = NULL;          if ((!req) || (!fh)) { -                gf_log (GF_NFS3, GF_LOG_ERROR, "Bad arguments"); +                gf_msg (GF_NFS3, GF_LOG_ERROR, EINVAL, NFS_MSG_INVALID_ENTRY, +                        "Bad arguments");                  return -1;          } @@ -5131,14 +5253,16 @@ nfs3svc_commit (rpcsvc_request_t *req)                  return ret;          nfs3_prep_commit3args (&args, &fh);          if (xdr_to_commit3args (req->msg[0], &args) <= 0) { -                gf_log (GF_NFS3, GF_LOG_ERROR, "Error decoding args"); +                gf_msg (GF_NFS3, GF_LOG_ERROR, 0, NFS_MSG_ARGS_DECODE_ERROR, +                        "Error decoding args");                  rpcsvc_request_seterr (req, GARBAGE_ARGS);                  goto rpcerr;          }          ret = nfs3_commit (req, &fh, args.offset, args.count);          if ((ret < 0) && (ret != RPCSVC_ACTOR_IGNORE)) { -                gf_log (GF_NFS3, GF_LOG_ERROR, "COMMIT procedure failed"); +                gf_msg (GF_NFS3, GF_LOG_ERROR, 0, NFS_MSG_COMMIT_FAIL, +                        "COMMIT procedure failed");                  rpcsvc_request_seterr (req, SYSTEM_ERR);                  ret = RPCSVC_ACTOR_ERROR;          } @@ -5230,16 +5354,16 @@ nfs3_init_options (struct nfs3_state *nfs3, dict_t *options)          if (dict_get (options, "nfs3.read-size")) {                  ret = dict_get_str (options, "nfs3.read-size", &optstr);                  if (ret < 0) { -                        gf_log (GF_NFS3, GF_LOG_ERROR, "Failed to read " -                                " option: nfs3.read-size"); +                        gf_msg (GF_NFS3, GF_LOG_ERROR, 0, NFS_MSG_READ_FAIL, +                                "Failed to read option: nfs3.read-size");                          ret = -1;                          goto err;                  }                  ret = gf_string2uint64 (optstr, &size64);                  if (ret == -1) { -                        gf_log (GF_NFS3, GF_LOG_ERROR, "Failed to format" -                                " option: nfs3.read-size"); +                        gf_msg (GF_NFS3, GF_LOG_ERROR, 0, NFS_MSG_FORMAT_FAIL, +                                "Failed to format option: nfs3.read-size");                          ret = -1;                          goto err;                  } @@ -5253,16 +5377,16 @@ nfs3_init_options (struct nfs3_state *nfs3, dict_t *options)          if (dict_get (options, "nfs3.write-size")) {                  ret = dict_get_str (options, "nfs3.write-size", &optstr);                  if (ret < 0) { -                        gf_log (GF_NFS3, GF_LOG_ERROR, "Failed to read " -                                " option: nfs3.write-size"); +                        gf_msg (GF_NFS3, GF_LOG_ERROR, 0, NFS_MSG_READ_FAIL, +                                "Failed to read  option: nfs3.write-size");                          ret = -1;                          goto err;                  }                  ret = gf_string2uint64 (optstr, &size64);                  if (ret == -1) { -                        gf_log (GF_NFS3, GF_LOG_ERROR, "Failed to format" -                                " option: nfs3.write-size"); +                        gf_msg (GF_NFS3, GF_LOG_ERROR, 0, NFS_MSG_FORMAT_FAIL, +                                "Failed to format option: nfs3.write-size");                          ret = -1;                          goto err;                  } @@ -5276,16 +5400,16 @@ nfs3_init_options (struct nfs3_state *nfs3, dict_t *options)          if (dict_get (options, "nfs3.readdir-size")) {                  ret = dict_get_str (options,"nfs3.readdir-size", &optstr);                  if (ret < 0) { -                        gf_log (GF_NFS3, GF_LOG_ERROR, "Failed to read" -                                " option: nfs3.readdir-size"); +                        gf_msg (GF_NFS3, GF_LOG_ERROR, 0, NFS_MSG_READ_FAIL, +                                "Failed to read option: nfs3.readdir-size");                          ret = -1;                          goto err;                  }                  ret = gf_string2uint64 (optstr, &size64);                  if (ret == -1) { -                        gf_log (GF_NFS3, GF_LOG_ERROR, "Failed to format" -                                " option: nfs3.readdir-size"); +                        gf_msg (GF_NFS3, GF_LOG_ERROR, 0, NFS_MSG_FORMAT_FAIL, +                                "Failed to format option: nfs3.readdir-size");                          ret = -1;                          goto err;                  } @@ -5340,7 +5464,8 @@ nfs3_init_subvolume_options (xlator_t *nfsx,          ret = snprintf (searchkey, 1024, "nfs3.%s.volume-id",exp->subvol->name);          if (ret < 0) { -                gf_log (GF_MNT, GF_LOG_ERROR, "snprintf failed"); +                gf_msg (GF_MNT, GF_LOG_ERROR, 0, NFS_MSG_SNPRINTF_FAIL, +                        "snprintf failed");                  ret = -1;                  goto err;          } @@ -5348,14 +5473,15 @@ nfs3_init_subvolume_options (xlator_t *nfsx,          if (dict_get (options, searchkey)) {                  ret = dict_get_str (options, searchkey, &optstr);                  if (ret < 0) { -                        gf_log (GF_MNT, GF_LOG_ERROR, "Failed to read option" -                                ": %s", searchkey); +                        gf_msg (GF_MNT, GF_LOG_ERROR, 0, NFS_MSG_READ_FAIL, +                                "Failed to read option: %s", searchkey);                          ret = -1;                          goto err;                  }          } else { -                gf_log (GF_MNT, GF_LOG_ERROR, "DVM is on but volume-id not " -                        "given for volume: %s", exp->subvol->name); +                gf_msg (GF_MNT, GF_LOG_ERROR, 0, NFS_MSG_VOLID_MISSING, "DVM is" +                        " on but volume-id not given for volume: %s", +                        exp->subvol->name);                  ret = -1;                  goto err;          } @@ -5363,8 +5489,9 @@ nfs3_init_subvolume_options (xlator_t *nfsx,          if (optstr) {                  ret = gf_uuid_parse (optstr, volumeid);                  if (ret < 0) { -                        gf_log (GF_MNT, GF_LOG_ERROR, "Failed to parse volume " -                                "UUID"); +                        gf_msg (GF_MNT, GF_LOG_ERROR, 0, +                                NFS_MSG_PARSE_VOL_UUID_FAIL, +                                "Failed to parse volume UUID");                          ret = -1;                          goto err;                  } @@ -5376,7 +5503,8 @@ no_dvm:          name = exp->subvol->name;          ret = snprintf (searchkey, 1024, "nfs3.%s.volume-access", name);          if (ret < 0) { -                gf_log (GF_NFS3, GF_LOG_ERROR, "snprintf failed"); +                gf_msg (GF_NFS3, GF_LOG_ERROR, 0, NFS_MSG_SNPRINTF_FAIL, +                        "snprintf failed");                  ret = -1;                  goto err;          } @@ -5385,8 +5513,8 @@ no_dvm:          if (dict_get (options, searchkey)) {                  ret = dict_get_str (options, searchkey, &optstr);                  if (ret < 0) { -                        gf_log (GF_NFS3, GF_LOG_ERROR, "Failed to read " -                                " option: %s", searchkey); +                        gf_msg (GF_NFS3, GF_LOG_ERROR, 0, NFS_MSG_READ_FAIL, +                                "Failed to read option: %s", searchkey);                          ret = -1;                          goto err;                  } @@ -5397,7 +5525,8 @@ no_dvm:          ret = snprintf (searchkey, 1024, "rpc-auth.%s.unix", name);          if (ret < 0) { -                gf_log (GF_NFS3, GF_LOG_ERROR, "snprintf failed"); +                gf_msg (GF_NFS3, GF_LOG_ERROR, 0, NFS_MSG_SNPRINTF_FAIL, +                        "snprintf failed");                  ret = -1;                  goto err;          } @@ -5405,8 +5534,8 @@ no_dvm:          if (dict_get (options, searchkey)) {                  ret = dict_get_str (options, searchkey, &optstr);                  if (ret < 0) { -                        gf_log (GF_NFS3, GF_LOG_ERROR, "Failed to read " -                                " option: %s", searchkey); +                        gf_msg (GF_NFS3, GF_LOG_ERROR, 0, NFS_MSG_READ_FAIL, +                                "Failed to read option: %s", searchkey);                          ret = -1;                          goto err;                  } @@ -5415,7 +5544,8 @@ no_dvm:          exp->trusted_sync = 0;          ret = snprintf (searchkey, 1024, "nfs3.%s.trusted-sync", name);          if (ret < 0) { -                gf_log (GF_NFS3, GF_LOG_ERROR, "snprintf failed"); +                gf_msg (GF_NFS3, GF_LOG_ERROR, 0, NFS_MSG_SNPRINTF_FAIL, +                        "snprintf failed");                  ret = -1;                  goto err;          } @@ -5423,15 +5553,16 @@ no_dvm:          if (dict_get (options, searchkey)) {                  ret = dict_get_str (options, searchkey, &optstr);                  if (ret < 0) { -                        gf_log (GF_NFS3, GF_LOG_ERROR, "Failed to read " -                                " option: %s", searchkey); +                        gf_msg (GF_NFS3, GF_LOG_ERROR, 0, NFS_MSG_READ_FAIL, +                                "Failed to read option: %s", searchkey);                          ret = -1;                          goto err;                  }                  ret = gf_string2boolean (optstr, &boolt);                  if (ret < 0) { -                        gf_log (GF_NFS3, GF_LOG_ERROR, "Failed to convert str " +                        gf_msg (GF_NFS3, GF_LOG_ERROR, 0, +                                NFS_MSG_STR2BOOL_FAIL, "Failed to convert str "                                  "to gf_boolean_t");                          ret = -1;                          goto err; @@ -5444,7 +5575,8 @@ no_dvm:          exp->trusted_write = 0;          ret = snprintf (searchkey, 1024, "nfs3.%s.trusted-write", name);          if (ret < 0) { -                gf_log (GF_NFS3, GF_LOG_ERROR, "snprintf failed"); +                gf_msg (GF_NFS3, GF_LOG_ERROR, 0, NFS_MSG_SNPRINTF_FAIL, +                        "snprintf failed");                  ret = -1;                  goto err;          } @@ -5452,16 +5584,17 @@ no_dvm:          if (dict_get (options, searchkey)) {                  ret = dict_get_str (options, searchkey, &optstr);                  if (ret < 0) { -                        gf_log (GF_NFS3, GF_LOG_ERROR, "Failed to read " -                                " option: %s", searchkey); +                        gf_msg (GF_NFS3, GF_LOG_ERROR, 0, NFS_MSG_READ_FAIL, +                                "Failed to read option: %s", searchkey);                          ret = -1;                          goto err;                  }                  ret = gf_string2boolean (optstr, &boolt);                  if (ret < 0) { -                        gf_log (GF_NFS3, GF_LOG_ERROR, "Failed to convert str " -                                "to gf_boolean_t"); +                        gf_msg (GF_NFS3, GF_LOG_ERROR, 0, +                                NFS_MSG_STR2BOOL_FAIL, "Failed to convert str" +                                " to gf_boolean_t");                          ret = -1;                          goto err;                  } @@ -5477,7 +5610,7 @@ no_dvm:          if (exp->trusted_sync)                  exp->trusted_write = 1; -        gf_log (GF_NFS3, GF_LOG_TRACE, "%s: %s, %s, %s", exp->subvol->name, +        gf_msg_trace (GF_NFS3, 0, "%s: %s, %s, %s", exp->subvol->name,                  (exp->access == GF_NFS3_VOLACCESS_RO)?"read-only":"read-write",                  (exp->trusted_sync == 0)?"no trusted_sync":"trusted_sync",                  (exp->trusted_write == 0)?"no trusted_write":"trusted_write"); @@ -5499,11 +5632,12 @@ nfs3_init_subvolume (struct nfs3_state *nfs3, xlator_t *subvol)          exp = GF_CALLOC (1, sizeof (*exp), gf_nfs_mt_nfs3_export);          exp->subvol = subvol;          INIT_LIST_HEAD (&exp->explist); -        gf_log (GF_NFS3, GF_LOG_TRACE, "Initing state: %s", exp->subvol->name); +        gf_msg_trace (GF_NFS3, 0, "Initing state: %s", exp->subvol->name);          ret = nfs3_init_subvolume_options (nfs3->nfsx, exp, NULL);          if (ret == -1) { -                gf_log (GF_NFS3, GF_LOG_ERROR, "Failed to init subvol"); +                gf_msg (GF_NFS3, GF_LOG_ERROR, 0, NFS_MSG_SUBVOL_INIT_FAIL, +                        "Failed to init subvol");                  goto exp_free;          } @@ -5533,8 +5667,9 @@ nfs3_init_subvolumes (struct nfs3_state *nfs3)          while (xl_list) {                  exp = nfs3_init_subvolume (nfs3, xl_list->xlator);                  if (!exp) { -                        gf_log (GF_NFS3, GF_LOG_ERROR, "Failed to init subvol: " -                                "%s", xl_list->xlator->name); +                        gf_msg (GF_NFS3, GF_LOG_ERROR, 0, +                                NFS_MSG_SUBVOL_INIT_FAIL, "Failed to init " +                                "subvol: %s", xl_list->xlator->name);                          goto err;                  }                  list_add_tail (&exp->explist, &nfs3->exports); @@ -5561,24 +5696,27 @@ nfs3_init_state (xlator_t *nfsx)          nfs3 = (struct nfs3_state *)GF_CALLOC (1, sizeof (*nfs3),                                      gf_nfs_mt_nfs3_state);          if (!nfs3) { -                gf_log (GF_NFS3, GF_LOG_ERROR, "Memory allocation failed"); +                gf_msg (GF_NFS3, GF_LOG_ERROR, ENOMEM, NFS_MSG_NO_MEMORY, +                        "Memory allocation failed");                  return NULL;          }          nfs = nfsx->private;          ret = nfs3_init_options (nfs3, nfsx->options);          if (ret == -1) { -                gf_log (GF_NFS3, GF_LOG_ERROR, "Failed to init options"); +                gf_msg (GF_NFS3, GF_LOG_ERROR, 0, NFS_MSG_OPT_INIT_FAIL, +                        "Failed to init options");                  goto ret;          }          nfs3->iobpool = nfsx->ctx->iobuf_pool;          localpool = nfs->memfactor * GF_NFS_CONCURRENT_OPS_MULT; -        gf_log (GF_NFS3, GF_LOG_TRACE, "local pool: %d", localpool); +        gf_msg_trace (GF_NFS3, 0, "local pool: %d", localpool);          nfs3->localpool = mem_pool_new (nfs3_call_state_t, localpool);          if (!nfs3->localpool) { -                gf_log (GF_NFS3, GF_LOG_ERROR, "local mempool creation failed"); +                gf_msg (GF_NFS3, GF_LOG_ERROR, ENOMEM, NFS_MSG_NO_MEMORY, +                        "local mempool creation failed");                  ret = -1;                  goto ret;          } @@ -5588,8 +5726,8 @@ nfs3_init_state (xlator_t *nfsx)          INIT_LIST_HEAD (&nfs3->exports);          ret = nfs3_init_subvolumes (nfs3);          if (ret == -1) { -                gf_log (GF_NFS3, GF_LOG_ERROR, "Failed to init per-subvolume " -                        "state"); +                gf_msg (GF_NFS3, GF_LOG_ERROR, 0, NFS_MSG_SUBVOL_INIT_FAIL, +                        "Failed to init per-subvolume state");                  goto free_localpool;          } @@ -5600,7 +5738,8 @@ nfs3_init_state (xlator_t *nfsx)          ret = rpcsvc_create_listeners (nfs->rpcsvc, nfsx->options, nfsx->name);          if (ret == -1) { -                gf_log (GF_NFS, GF_LOG_ERROR, "Unable to create listeners"); +                gf_msg (GF_NFS, GF_LOG_ERROR, 0, NFS_MSG_LISTENERS_CREATE_FAIL, +                        "Unable to create listeners");                  goto free_localpool;          } @@ -5631,7 +5770,8 @@ nfs3svc_init (xlator_t *nfsx)          nfs3 = nfs3_init_state (nfsx);          if (!nfs3) { -                gf_log (GF_NFS3, GF_LOG_ERROR, "NFSv3 state init failed"); +                gf_msg (GF_NFS3, GF_LOG_ERROR, 0, NFS_MSG_STATE_INIT_FAIL, +                        "NFSv3 state init failed");                  return NULL;          } @@ -5658,7 +5798,7 @@ nfs3_reconfigure_state (xlator_t *nfsx, dict_t *options)          ret = nfs3_init_options (nfs3, options);          if (ret) { -                gf_log (GF_NFS3, GF_LOG_ERROR, +                gf_msg (GF_NFS3, GF_LOG_ERROR, 0, NFS_MSG_RECONF_FAIL,                          "Failed to reconfigure options");                  goto out;          } @@ -5666,7 +5806,8 @@ nfs3_reconfigure_state (xlator_t *nfsx, dict_t *options)          list_for_each_entry (exp, &nfs3->exports, explist) {                  ret = nfs3_init_subvolume_options (nfsx, exp, options);                  if (ret) { -                        gf_log (GF_NFS3, GF_LOG_ERROR, +                        gf_msg (GF_NFS3, GF_LOG_ERROR, 0, +                                NFS_MSG_RECONF_SUBVOL_FAIL,                                  "Failed to reconfigure subvol options");                          goto out;                  }  | 
