summaryrefslogtreecommitdiffstats
path: root/xlators/features/cloudsync/src/cloudsync-common.c
diff options
context:
space:
mode:
Diffstat (limited to 'xlators/features/cloudsync/src/cloudsync-common.c')
-rw-r--r--xlators/features/cloudsync/src/cloudsync-common.c58
1 files changed, 37 insertions, 21 deletions
diff --git a/xlators/features/cloudsync/src/cloudsync-common.c b/xlators/features/cloudsync/src/cloudsync-common.c
index d0d00decca3..445a31b90e7 100644
--- a/xlators/features/cloudsync/src/cloudsync-common.c
+++ b/xlators/features/cloudsync/src/cloudsync-common.c
@@ -11,34 +11,50 @@
#include "cloudsync-common.h"
void
-cs_local_wipe (xlator_t *this, cs_local_t *local)
+cs_xattrinfo_wipe(cs_local_t *local)
{
- if (!local)
- return;
+ if (local->xattrinfo.lxattr) {
+ if (local->xattrinfo.lxattr->file_path)
+ GF_FREE(local->xattrinfo.lxattr->file_path);
- loc_wipe (&local->loc);
+ if (local->xattrinfo.lxattr->volname)
+ GF_FREE(local->xattrinfo.lxattr->volname);
- if (local->fd) {
- fd_unref (local->fd);
- local->fd = NULL;
- }
+ GF_FREE(local->xattrinfo.lxattr);
+ }
+}
+
+void
+cs_local_wipe(xlator_t *this, cs_local_t *local)
+{
+ if (!local)
+ return;
+
+ loc_wipe(&local->loc);
+
+ if (local->fd) {
+ fd_unref(local->fd);
+ local->fd = NULL;
+ }
+
+ if (local->stub) {
+ call_stub_destroy(local->stub);
+ local->stub = NULL;
+ }
- if (local->stub) {
- call_stub_destroy (local->stub);
- local->stub = NULL;
- }
+ if (local->xattr_req)
+ dict_unref(local->xattr_req);
- if (local->xattr_req)
- dict_unref (local->xattr_req);
+ if (local->xattr_rsp)
+ dict_unref(local->xattr_rsp);
- if (local->xattr_rsp)
- dict_unref (local->xattr_rsp);
+ if (local->dlfd)
+ fd_unref(local->dlfd);
- if (local->dlfd)
- fd_unref (local->dlfd);
+ if (local->remotepath)
+ GF_FREE(local->remotepath);
- if (local->remotepath)
- GF_FREE (local->remotepath);
+ cs_xattrinfo_wipe(local);
- mem_put (local);
+ mem_put(local);
}