delete old patch file
This commit is contained in:
parent
4a1eb56133
commit
678423fa91
@ -1,156 +0,0 @@
|
|||||||
From ac1899fd37a04e9d2ec366a7dd27d579ebc0b318 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Soumya Koduri <skoduri@redhat.com>
|
|
||||||
Date: Tue, 18 Oct 2016 00:18:29 +0530
|
|
||||||
Subject: [PATCH] FSAL_GLUSTER: Use the new APIs to fetch & free upcall args
|
|
||||||
|
|
||||||
GlusterFS Upcall handling APIs have been remodelled to do
|
|
||||||
all the memory handling needed in gfapi and make the upcall
|
|
||||||
structure opaque so that in case if there are any changes
|
|
||||||
to it in future, it shall not break existing applications.
|
|
||||||
|
|
||||||
http://review.gluster.org/#/c/14701/ (merged into Gluster 3.7.16)
|
|
||||||
http://review.gluster.org/#/c/15653/ (hopefully will get into 3.7.17)
|
|
||||||
|
|
||||||
This change is to consume those APIs in FSAL_GLUSTER.
|
|
||||||
|
|
||||||
Change-Id: Iad6c97a09aed801e7abd979cb452076bfef68b62
|
|
||||||
Signed-off-by: Soumya Koduri <skoduri@redhat.com>
|
|
||||||
---
|
|
||||||
|
|
||||||
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
|
|
||||||
index 2cf5fdf..d329e8b 100644
|
|
||||||
--- a/src/CMakeLists.txt
|
|
||||||
+++ b/src/CMakeLists.txt
|
|
||||||
@@ -511,7 +511,7 @@
|
|
||||||
IF(GLUSTER_PREFIX)
|
|
||||||
set(ENV{PKG_CONFIG_PATH} "${PKG_CONFIG_PATH}:${GLUSTER_PREFIX}/lib/pkgconfig")
|
|
||||||
ENDIF(GLUSTER_PREFIX)
|
|
||||||
- pkg_check_modules(GFAPI glusterfs-api>=7.3.8)
|
|
||||||
+ pkg_check_modules(GFAPI glusterfs-api)
|
|
||||||
if(NOT GFAPI_FOUND)
|
|
||||||
if(STRICT_PACKAGE)
|
|
||||||
message(FATAL_ERROR "STRICT PACKAGE: Cannot find GLUSTER GFAPI runtime. Disabling GLUSTER fsal build")
|
|
||||||
diff --git a/src/FSAL/FSAL_GLUSTER/fsal_up.c b/src/FSAL/FSAL_GLUSTER/fsal_up.c
|
|
||||||
index 070a8f5..e213319 100644
|
|
||||||
--- a/src/FSAL/FSAL_GLUSTER/fsal_up.c
|
|
||||||
+++ b/src/FSAL/FSAL_GLUSTER/fsal_up.c
|
|
||||||
@@ -96,21 +96,23 @@
|
|
||||||
}
|
|
||||||
|
|
||||||
out:
|
|
||||||
- glfs_h_close(object);
|
|
||||||
return rc;
|
|
||||||
}
|
|
||||||
|
|
||||||
void *GLUSTERFSAL_UP_Thread(void *Arg)
|
|
||||||
{
|
|
||||||
- struct glusterfs_export *glfsexport = Arg;
|
|
||||||
+ struct glusterfs_export *glfsexport = Arg;
|
|
||||||
const struct fsal_up_vector *event_func;
|
|
||||||
char thr_name[16];
|
|
||||||
- int rc = 0;
|
|
||||||
- struct callback_arg callback;
|
|
||||||
- struct callback_inode_arg *cbk_inode_arg = NULL;
|
|
||||||
- int reason = 0;
|
|
||||||
- int retry = 0;
|
|
||||||
- int errsv = 0;
|
|
||||||
+ int rc = 0;
|
|
||||||
+ struct glfs_upcall *cbk = NULL;
|
|
||||||
+ struct glfs_upcall_inode *in_arg = NULL;
|
|
||||||
+ enum glfs_upcall_reason reason = 0;
|
|
||||||
+ int retry = 0;
|
|
||||||
+ int errsv = 0;
|
|
||||||
+ struct glfs_object *object = NULL;
|
|
||||||
+ struct glfs_object *p_object = NULL;
|
|
||||||
+ struct glfs_object *oldp_object = NULL;
|
|
||||||
|
|
||||||
|
|
||||||
snprintf(thr_name, sizeof(thr_name),
|
|
||||||
@@ -138,8 +140,6 @@
|
|
||||||
goto out;
|
|
||||||
}
|
|
||||||
|
|
||||||
- callback.fs = glfsexport->gl_fs;
|
|
||||||
-
|
|
||||||
/* Start querying for events and processing. */
|
|
||||||
/** @todo : Do batch processing instead */
|
|
||||||
while (!atomic_fetch_int8_t(&glfsexport->destroy_mode)) {
|
|
||||||
@@ -147,11 +147,10 @@
|
|
||||||
"Requesting event from FSAL Callback interface for %p.",
|
|
||||||
glfsexport->gl_fs);
|
|
||||||
|
|
||||||
- callback.reason = 0;
|
|
||||||
+ reason = 0;
|
|
||||||
|
|
||||||
- rc = glfs_h_poll_upcall(glfsexport->gl_fs, &callback);
|
|
||||||
+ rc = glfs_h_poll_upcall(glfsexport->gl_fs, &cbk);
|
|
||||||
errsv = errno;
|
|
||||||
- reason = callback.reason;
|
|
||||||
|
|
||||||
if (rc != 0) {
|
|
||||||
/* if ENOMEM retry for couple of times
|
|
||||||
@@ -190,42 +189,49 @@
|
|
||||||
"Received upcall event: reason(%d)",
|
|
||||||
reason);
|
|
||||||
|
|
||||||
+ if (!cbk) {
|
|
||||||
+ usleep(10);
|
|
||||||
+ continue;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ reason = glfs_upcall_get_reason(cbk);
|
|
||||||
/* Decide what type of event this is
|
|
||||||
* inode update / invalidate? */
|
|
||||||
switch (reason) {
|
|
||||||
- case GFAPI_CBK_EVENT_NULL:
|
|
||||||
+ case GLFS_UPCALL_EVENT_NULL:
|
|
||||||
usleep(10);
|
|
||||||
continue;
|
|
||||||
- case GFAPI_INODE_INVALIDATE:
|
|
||||||
- cbk_inode_arg =
|
|
||||||
- (struct callback_inode_arg *)callback.event_arg;
|
|
||||||
+ case GLFS_UPCALL_INODE_INVALIDATE:
|
|
||||||
+ in_arg = glfs_upcall_get_event(cbk);
|
|
||||||
|
|
||||||
- if (!cbk_inode_arg) {
|
|
||||||
+ if (!in_arg) {
|
|
||||||
/* Could be ENOMEM issues. continue */
|
|
||||||
LogWarn(COMPONENT_FSAL_UP,
|
|
||||||
"Received NULL upcall event arg");
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
- if (cbk_inode_arg->object)
|
|
||||||
+ object = glfs_upcall_inode_get_object(in_arg);
|
|
||||||
+ if (object)
|
|
||||||
upcall_inode_invalidate(glfsexport,
|
|
||||||
- cbk_inode_arg->object);
|
|
||||||
- if (cbk_inode_arg->p_object)
|
|
||||||
+ object);
|
|
||||||
+ p_object = glfs_upcall_inode_get_pobject(in_arg);
|
|
||||||
+ if (p_object)
|
|
||||||
upcall_inode_invalidate(glfsexport,
|
|
||||||
- cbk_inode_arg->p_object);
|
|
||||||
- if (cbk_inode_arg->oldp_object)
|
|
||||||
+ p_object);
|
|
||||||
+ oldp_object = glfs_upcall_inode_get_object(in_arg);
|
|
||||||
+ if (oldp_object)
|
|
||||||
upcall_inode_invalidate(glfsexport,
|
|
||||||
- cbk_inode_arg->oldp_object);
|
|
||||||
+ oldp_object);
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
LogWarn(COMPONENT_FSAL_UP, "Unknown event: %d", reason);
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
- if (cbk_inode_arg) {
|
|
||||||
- free(cbk_inode_arg);
|
|
||||||
- cbk_inode_arg = NULL;
|
|
||||||
+ if (cbk) {
|
|
||||||
+ glfs_free(cbk);
|
|
||||||
+ cbk = NULL;
|
|
||||||
}
|
|
||||||
- callback.event_arg = NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
out:
|
|
Loading…
Reference in New Issue
Block a user