diff options
author | Mohit Agrawal <moagrawa@redhat.com> | 2020-09-22 17:21:26 +0530 |
---|---|---|
committer | Mohit Agrawal <moagrawa@redhat.com> | 2020-09-23 13:40:51 +0530 |
commit | 168142748d4f676071d9253bb536aec734a4a0da (patch) | |
tree | 3ceb665a98962fa0e7a8c273824afda9a62f3764 /xlators | |
parent | eedddaa7ec13f951180ff448c62ffb413913bbd7 (diff) |
nfs: test case bugs_nfs_bug-1116503.t is crashed
test case is crashed because GF_ASSERT is failing
in gf_mem_set_acct_info function due to access global
xlator instead of accessing nfs xlator.To avoid the
crash pass nfsx at the time of calling nsm_thread
to set the THIS.
Fixes: #1506
Change-Id: Ifd8afcdf39578aa44332d1b79744a4e9910fe7c6
Signed-off-by: Mohit Agrawal <moagrawa@redhat.com>
Diffstat (limited to 'xlators')
-rw-r--r-- | xlators/nfs/server/src/mount3udp_svc.c | 2 | ||||
-rw-r--r-- | xlators/nfs/server/src/nlm4.c | 5 | ||||
-rw-r--r-- | xlators/nfs/server/src/nlmcbk_svc.c | 5 |
3 files changed, 9 insertions, 3 deletions
diff --git a/xlators/nfs/server/src/mount3udp_svc.c b/xlators/nfs/server/src/mount3udp_svc.c index 0688779eb65..1a2b0f85453 100644 --- a/xlators/nfs/server/src/mount3udp_svc.c +++ b/xlators/nfs/server/src/mount3udp_svc.c @@ -216,7 +216,7 @@ mount3udp_thread(void *argv) GF_ASSERT(nfsx); - glusterfs_this_set(nfsx); + THIS = nfsx; transp = svcudp_create(RPC_ANYSOCK); if (transp == NULL) { diff --git a/xlators/nfs/server/src/nlm4.c b/xlators/nfs/server/src/nlm4.c index c909e3bc093..577e8543966 100644 --- a/xlators/nfs/server/src/nlm4.c +++ b/xlators/nfs/server/src/nlm4.c @@ -1011,7 +1011,8 @@ nlm4_establish_callback(nfs3_call_state_t *cs, call_frame_t *cbk_frame) int port = -1; struct nlm4_notify_args *ncf = NULL; - glusterfs_this_set(cs->nfsx); + GF_ASSERT(cs->nfsx); + THIS = cs->nfsx; rpc_transport_get_peeraddr(cs->trans, NULL, 0, &sock_union.storage, sizeof(sock_union.storage)); @@ -2714,7 +2715,7 @@ nlm4svc_init(xlator_t *nfsx) goto err; } - (void)gf_thread_create(&thr, NULL, nsm_thread, (void *)NULL, "nfsnsm"); + (void)gf_thread_create(&thr, NULL, nsm_thread, nfsx, "nfsnsm"); timeout.tv_sec = nlm_grace_period; timeout.tv_nsec = 0; diff --git a/xlators/nfs/server/src/nlmcbk_svc.c b/xlators/nfs/server/src/nlmcbk_svc.c index d18b86ce8db..eaa7b916190 100644 --- a/xlators/nfs/server/src/nlmcbk_svc.c +++ b/xlators/nfs/server/src/nlmcbk_svc.c @@ -84,9 +84,14 @@ nlmcbk_program_0(struct svc_req *rqstp, register SVCXPRT *transp) void * nsm_thread(void *argv) { + xlator_t *nfsx = argv; register SVCXPRT *transp; int ret = 0; + GF_ASSERT(nfsx); + + THIS = nfsx; + ret = pmap_unset(NLMCBK_PROGRAM, NLMCBK_V1); if (ret == 0) { gf_msg(GF_NLM, GF_LOG_ERROR, 0, NFS_MSG_PMAP_UNSET_FAIL, |