diff options
author | Saravanakumar Arumugam <sarumuga@redhat.com> | 2017-12-01 15:23:52 +0530 |
---|---|---|
committer | Amar Tumballi <amarts@redhat.com> | 2017-12-20 07:01:08 +0000 |
commit | 4fdcf4cccd467c9678bd23a613f43e1f1ac24c07 (patch) | |
tree | 7f7b3f0015c280b0ab7ba1588f1f2f285f8b822c | |
parent | 5aca4cf569f19d235662c4fbaa04df21e5fd46c2 (diff) |
leases: Fix coverity issues
- dead code removal
- check return value for thread creation.
- fix resource leak
Change-Id: I58d4247bab503fa419bc83c36fc59801a1c41f5e
BUG: 789278
Signed-off-by: Saravanakumar Arumugam <sarumuga@redhat.com>
-rw-r--r-- | xlators/features/leases/src/leases.c | 81 |
1 files changed, 30 insertions, 51 deletions
diff --git a/xlators/features/leases/src/leases.c b/xlators/features/leases/src/leases.c index 551dd9b53db..194d5f34aa8 100644 --- a/xlators/features/leases/src/leases.c +++ b/xlators/features/leases/src/leases.c @@ -38,6 +38,10 @@ leases_open (call_frame_t *frame, xlator_t *this, loc_t *loc, int32_t flags, EXIT_IF_LEASES_OFF (this, out); fd_ctx = GF_CALLOC (1, sizeof (*fd_ctx), gf_leases_mt_fd_ctx_t); + if (!fd_ctx) { + op_errno = ENOMEM; + goto err; + } fd_ctx->client_uid = gf_strdup (frame->root->client->client_uid); if (!fd_ctx->client_uid) { @@ -78,6 +82,11 @@ out: return 0; err: + if (fd_ctx) { + GF_FREE (fd_ctx->client_uid); + GF_FREE (fd_ctx); + } + op_errno = (op_errno == -1) ? errno : op_errno; STACK_UNWIND_STRICT (open, frame, -1, op_errno, NULL, NULL); return 0; @@ -101,7 +110,6 @@ leases_writev (call_frame_t *frame, xlator_t *this, fd_t *fd, struct iobref *iobref, dict_t *xdata) { uint32_t fop_flags = 0; - int32_t op_errno = -1; char *lease_id = NULL; int ret = 0; @@ -130,8 +138,7 @@ out: return 0; err: - op_errno = (op_errno == -1) ? errno : op_errno; - STACK_UNWIND_STRICT (writev, frame, -1, op_errno, NULL, NULL, NULL); + STACK_UNWIND_STRICT (writev, frame, -1, errno, NULL, NULL, NULL); return 0; } @@ -154,7 +161,6 @@ leases_readv (call_frame_t *frame, xlator_t *this, uint32_t flags, dict_t *xdata) { uint32_t fop_flags = 0; - int32_t op_errno = -1; char *lease_id = NULL; int ret = 0; @@ -183,8 +189,7 @@ out: return 0; err: - op_errno = (op_errno == -1) ? errno : op_errno; - STACK_UNWIND_STRICT (readv, frame, -1, op_errno, NULL, 0, + STACK_UNWIND_STRICT (readv, frame, -1, errno, NULL, 0, NULL, NULL, NULL); return 0; } @@ -203,7 +208,6 @@ int32_t leases_lk (call_frame_t *frame, xlator_t *this, fd_t *fd, int32_t cmd, struct gf_flock *flock, dict_t *xdata) { - int32_t op_errno = 0; uint32_t fop_flags = 0; char *lease_id = NULL; int ret = 0; @@ -233,8 +237,7 @@ out: return 0; err: - op_errno = (op_errno == -1) ? errno : op_errno; - STACK_UNWIND_STRICT (lk, frame, -1, op_errno, NULL, NULL); + STACK_UNWIND_STRICT (lk, frame, -1, errno, NULL, NULL); return 0; } @@ -286,7 +289,6 @@ leases_truncate (call_frame_t *frame, xlator_t *this, loc_t *loc, off_t offset, dict_t *xdata) { uint32_t fop_flags = 0; - int32_t op_errno = -1; char *lease_id = NULL; int ret = 0; @@ -315,8 +317,7 @@ out: return 0; err: - op_errno = (op_errno == -1) ? errno : op_errno; - STACK_UNWIND_STRICT (truncate, frame, -1, op_errno, NULL, NULL, NULL); + STACK_UNWIND_STRICT (truncate, frame, -1, errno, NULL, NULL, NULL); return 0; } @@ -336,7 +337,6 @@ leases_setattr (call_frame_t *frame, xlator_t *this, loc_t *loc, struct iatt *stbuf, int32_t valid, dict_t *xdata) { uint32_t fop_flags = 0; - int32_t op_errno = -1; char *lease_id = NULL; int ret = 0; @@ -365,8 +365,7 @@ out: return 0; err: - op_errno = (op_errno == -1) ? errno : op_errno; - STACK_UNWIND_STRICT (setattr, frame, -1, op_errno, NULL, NULL, NULL); + STACK_UNWIND_STRICT (setattr, frame, -1, errno, NULL, NULL, NULL); return 0; } @@ -389,7 +388,6 @@ leases_rename (call_frame_t *frame, xlator_t *this, loc_t *oldloc, loc_t *newloc, dict_t *xdata) { uint32_t fop_flags = 0; - int32_t op_errno = -1; char *lease_id = NULL; int ret = 0; @@ -419,8 +417,7 @@ out: return 0; err: - op_errno = (op_errno == -1) ? errno : op_errno; - STACK_UNWIND_STRICT (rename, frame, -1, op_errno, NULL, + STACK_UNWIND_STRICT (rename, frame, -1, errno, NULL, NULL, NULL, NULL, NULL, NULL); return 0; } @@ -441,7 +438,6 @@ leases_unlink (call_frame_t *frame, xlator_t *this, loc_t *loc, int xflag, dict_t *xdata) { uint32_t fop_flags = 0; - int32_t op_errno = -1; char *lease_id = NULL; int ret = 0; @@ -470,8 +466,7 @@ out: return 0; err: - op_errno = (op_errno == -1) ? errno : op_errno; - STACK_UNWIND_STRICT (unlink, frame, -1, op_errno, NULL, NULL, NULL); + STACK_UNWIND_STRICT (unlink, frame, -1, errno, NULL, NULL, NULL); return 0; } @@ -491,7 +486,6 @@ leases_link (call_frame_t *frame, xlator_t *this, loc_t *oldloc, loc_t *newloc, dict_t *xdata) { uint32_t fop_flags = 0; - int32_t op_errno = -1; char *lease_id = NULL; int ret = 0; @@ -519,8 +513,7 @@ out: return 0; err: - op_errno = (op_errno == -1) ? errno : op_errno; - STACK_UNWIND_STRICT (link, frame, -1, op_errno, NULL, + STACK_UNWIND_STRICT (link, frame, -1, errno, NULL, NULL, NULL, NULL, NULL); return 0; } @@ -543,7 +536,6 @@ leases_create (call_frame_t *frame, xlator_t *this, mode_t umask, fd_t *fd, dict_t *xdata) { uint32_t fop_flags = 0; - int32_t op_errno = -1; char *lease_id = NULL; int ret = 0; @@ -572,8 +564,7 @@ out: return 0; err: - op_errno = (op_errno == -1) ? errno : op_errno; - STACK_UNWIND_STRICT (create, frame, -1, op_errno, NULL, NULL, NULL, + STACK_UNWIND_STRICT (create, frame, -1, errno, NULL, NULL, NULL, NULL, NULL, NULL); return 0; } @@ -594,7 +585,6 @@ leases_fsync (call_frame_t *frame, xlator_t *this, fd_t *fd, int32_t flags, dict_t *xdata) { uint32_t fop_flags = 0; - int32_t op_errno = -1; char *lease_id = NULL; int ret = 0; @@ -621,8 +611,7 @@ out: FIRST_CHILD(this)->fops->fsync, fd, flags, xdata); return 0; err: - op_errno = (op_errno == -1) ? errno : op_errno; - STACK_UNWIND_STRICT (fsync, frame, -1, op_errno, NULL, NULL, NULL); + STACK_UNWIND_STRICT (fsync, frame, -1, errno, NULL, NULL, NULL); return 0; } @@ -642,7 +631,6 @@ leases_ftruncate (call_frame_t *frame, xlator_t *this, fd_t *fd, off_t offset, dict_t *xdata) { uint32_t fop_flags = 0; - int32_t op_errno = -1; char *lease_id = NULL; int ret = 0; @@ -671,8 +659,7 @@ out: return 0; err: - op_errno = (op_errno == -1) ? errno : op_errno; - STACK_UNWIND_STRICT (ftruncate, frame, -1, op_errno, NULL, + STACK_UNWIND_STRICT (ftruncate, frame, -1, errno, NULL, NULL, NULL); return 0; } @@ -692,7 +679,6 @@ leases_fsetattr (call_frame_t *frame, xlator_t *this, fd_t *fd, struct iatt *stbuf, int32_t valid, dict_t *xdata) { uint32_t fop_flags = 0; - int32_t op_errno = -1; char *lease_id = NULL; int ret = 0; @@ -721,8 +707,7 @@ out: return 0; err: - op_errno = (op_errno == -1) ? errno : op_errno; - STACK_UNWIND_STRICT (fsetattr, frame, -1, op_errno, NULL, + STACK_UNWIND_STRICT (fsetattr, frame, -1, errno, NULL, NULL, NULL); return 0; } @@ -743,7 +728,6 @@ leases_fallocate (call_frame_t *frame, xlator_t *this, fd_t *fd, int32_t mode, off_t offset, size_t len, dict_t *xdata) { uint32_t fop_flags = 0; - int32_t op_errno = -1; char *lease_id = NULL; int ret = 0; @@ -772,8 +756,7 @@ out: return 0; err: - op_errno = (op_errno == -1) ? errno : op_errno; - STACK_UNWIND_STRICT (fallocate, frame, -1, op_errno, NULL, + STACK_UNWIND_STRICT (fallocate, frame, -1, errno, NULL, NULL, NULL); return 0; } @@ -794,7 +777,6 @@ leases_discard (call_frame_t *frame, xlator_t *this, fd_t *fd, off_t offset, size_t len, dict_t *xdata) { uint32_t fop_flags = 0; - int32_t op_errno = -1; char *lease_id = NULL; int ret = 0; @@ -823,8 +805,7 @@ out: return 0; err: - op_errno = (op_errno == -1) ? errno : op_errno; - STACK_UNWIND_STRICT (discard, frame, -1, op_errno, NULL, + STACK_UNWIND_STRICT (discard, frame, -1, errno, NULL, NULL, NULL); return 0; } @@ -845,7 +826,6 @@ leases_zerofill (call_frame_t *frame, xlator_t *this, fd_t *fd, off_t offset, off_t len, dict_t *xdata) { uint32_t fop_flags = 0; - int32_t op_errno = -1; char *lease_id = NULL; int ret = 0; @@ -874,8 +854,7 @@ out: return 0; err: - op_errno = (op_errno == -1) ? errno : op_errno; - STACK_UNWIND_STRICT (zerofill, frame, -1, op_errno, NULL, + STACK_UNWIND_STRICT (zerofill, frame, -1, errno, NULL, NULL, NULL); return 0; } @@ -893,7 +872,6 @@ int leases_flush (call_frame_t *frame, xlator_t *this, fd_t *fd, dict_t *xdata) { - int32_t op_errno = -1; uint32_t fop_flags = 0; char *lease_id = NULL; int ret = 0; @@ -922,8 +900,7 @@ out: return 0; err: - op_errno = (op_errno == -1) ? errno : op_errno; - STACK_UNWIND_STRICT (create, frame, -1, op_errno, NULL, + STACK_UNWIND_STRICT (create, frame, -1, errno, NULL, NULL, NULL, NULL, NULL, NULL); return 0; } @@ -965,9 +942,11 @@ leases_init_priv (xlator_t *this) } if (!priv->inited_recall_thr) { - gf_thread_create (&priv->recall_thr, NULL, - expired_recall_cleanup, this, "leasercl"); - priv->inited_recall_thr = _gf_true; + ret = gf_thread_create (&priv->recall_thr, NULL, + expired_recall_cleanup, this, + "leasercl"); + if (!ret) + priv->inited_recall_thr = _gf_true; } out: |