summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNiels de Vos <ndevos@redhat.com>2017-07-29 14:16:07 +0200
committerShyamsundar Ranganathan <srangana@redhat.com>2017-08-11 11:22:43 +0000
commitdc413d4126d02be71a014786e17e7b605443e887 (patch)
tree123dd8459dcb8100c53089443ef6574a6d7018a1
parentcfa33b224f58053bbbcbc46865fca70621a59f05 (diff)
refcount: typecast function for calling on free
All of the functions called to free the refcounted structure are doing a typecast from (void*) to their own type taht is being free'd. This really is not needed and the refcount interface is made a little simpler without the requirement of typecasting. With this small improvement in the API, all callers are updated too. Cherry picked from commit f2ca301bd741e3e3f076cd3f72fcd377bcef2a1a: > Change-Id: I32473b6d1799f62861d4b2d78ea30c09e6c80ab1 > BUG: 1416889 > Signed-off-by: Niels de Vos <ndevos@redhat.com> > Reviewed-on: https://review.gluster.org/16471 > Smoke: Gluster Build System <jenkins@build.gluster.org> > NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org> > Reviewed-by: Xavier Hernandez <xhernandez@datalab.es> > CentOS-regression: Gluster Build System <jenkins@build.gluster.org> > Reviewed-by: Kaleb KEITHLEY <kkeithle@redhat.com> Backport note: This patch makes it easier to backport changes that use gf_refcount_t. There is no functional change. Change-Id: I32473b6d1799f62861d4b2d78ea30c09e6c80ab1 BUG: 1471870 Signed-off-by: Niels de Vos <ndevos@redhat.com> Reviewed-on: https://review.gluster.org/17913 Smoke: Gluster Build System <jenkins@build.gluster.org> CentOS-regression: Gluster Build System <jenkins@build.gluster.org> Reviewed-by: Shyamsundar Ranganathan <srangana@redhat.com>
-rw-r--r--api/src/glfs.c10
-rw-r--r--libglusterfs/src/refcount.h2
-rw-r--r--rpc/rpc-transport/socket/src/socket.c6
-rw-r--r--xlators/cluster/dht/src/dht-helper.c9
-rw-r--r--xlators/features/marker/src/marker-quota-helper.c6
-rw-r--r--xlators/features/marker/src/marker-quota-helper.h3
6 files changed, 10 insertions, 26 deletions
diff --git a/api/src/glfs.c b/api/src/glfs.c
index d19effb1573..9bd910f59e0 100644
--- a/api/src/glfs.c
+++ b/api/src/glfs.c
@@ -583,16 +583,12 @@ pub_glfs_from_glfd (struct glfs_fd *glfd)
GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_from_glfd, 3.4.0);
-void
-glfs_fd_destroy (void *data)
+static void
+glfs_fd_destroy (struct glfs_fd *glfd)
{
- struct glfs_fd *glfd = NULL;
-
- if (!data)
+ if (!glfd)
return;
- glfd = (struct glfs_fd *)data;
-
glfs_lock (glfd->fs, _gf_true);
{
list_del_init (&glfd->openfds);
diff --git a/libglusterfs/src/refcount.h b/libglusterfs/src/refcount.h
index db9432acbbc..583b75cf8c2 100644
--- a/libglusterfs/src/refcount.h
+++ b/libglusterfs/src/refcount.h
@@ -84,7 +84,7 @@ _gf_ref_init (gf_ref_t *ref, gf_ref_release_t release, void *data);
*
* Sets the refcount to 1.
*/
-#define GF_REF_INIT(p, d) _gf_ref_init (&(p)->_ref, d, p)
+#define GF_REF_INIT(p, d) _gf_ref_init (&(p)->_ref, (gf_ref_release_t) d, p)
/* GF_REF_GET -- increase the refcount of a GF_REF_DECL structure
*
diff --git a/rpc/rpc-transport/socket/src/socket.c b/rpc/rpc-transport/socket/src/socket.c
index 71eacf83f2a..8c62a25f67d 100644
--- a/rpc/rpc-transport/socket/src/socket.c
+++ b/rpc/rpc-transport/socket/src/socket.c
@@ -3961,11 +3961,9 @@ init_openssl_mt (void)
SSL_load_error_strings();
}
-void
-socket_poller_mayday (void *data)
+static void
+socket_poller_mayday (socket_private_t *priv)
{
- socket_private_t *priv = (socket_private_t *)data;
-
if (priv == NULL)
return;
diff --git a/xlators/cluster/dht/src/dht-helper.c b/xlators/cluster/dht/src/dht-helper.c
index c9bf60eb591..55f86075f5e 100644
--- a/xlators/cluster/dht/src/dht-helper.c
+++ b/xlators/cluster/dht/src/dht-helper.c
@@ -15,15 +15,10 @@
#include "dht-helper.h"
-void
-dht_free_fd_ctx (void *data)
+static void
+dht_free_fd_ctx (dht_fd_ctx_t *fd_ctx)
{
- dht_fd_ctx_t *fd_ctx = NULL;
-
- fd_ctx = (dht_fd_ctx_t *)data;
GF_FREE (fd_ctx);
-
- return;
}
diff --git a/xlators/features/marker/src/marker-quota-helper.c b/xlators/features/marker/src/marker-quota-helper.c
index 1fed9df6d6a..e3e218f8af5 100644
--- a/xlators/features/marker/src/marker-quota-helper.c
+++ b/xlators/features/marker/src/marker-quota-helper.c
@@ -146,11 +146,9 @@ out:
return ctx;
}
-void
-mq_contri_fini (void *data)
+static void
+mq_contri_fini (inode_contribution_t *contri)
{
- inode_contribution_t *contri = data;
-
LOCK_DESTROY (&contri->lock);
GF_FREE (contri);
}
diff --git a/xlators/features/marker/src/marker-quota-helper.h b/xlators/features/marker/src/marker-quota-helper.h
index bf417aa8241..444ba7ca71e 100644
--- a/xlators/features/marker/src/marker-quota-helper.h
+++ b/xlators/features/marker/src/marker-quota-helper.h
@@ -66,9 +66,6 @@ mq_local_ref (quota_local_t *);
int32_t
mq_local_unref (xlator_t *, quota_local_t *);
-void
-mq_contri_fini (void *data);
-
inode_contribution_t*
mq_contri_init (inode_t *inode);