summaryrefslogtreecommitdiffstats
path: root/api/src/gfapi-messages.h
diff options
context:
space:
mode:
authorSoumya Koduri <skoduri@redhat.com>2018-11-18 23:38:08 +0530
committerSoumya Koduri <skoduri@redhat.com>2019-01-03 15:08:16 +0530
commitad1de8c31348f6864bd9b40292df8dfd1376c0a3 (patch)
tree46861de2b704b5ceedfc2506530c388a09f40b6e /api/src/gfapi-messages.h
parent1651c8c3546777ef3072ae83127f5aa47bb160b5 (diff)
gfapi: Offload callback notifications to synctask
Upcall notifications are received from server via epoll and same thread is used to forward these notifications to the application. This may lead to deadlock and hang in the following scenario. Consider if as part of handling these callbacks, application has to do some operations which involve sending I/Os to gfapi stack which inturn have to wait for epoll threads to receive repsonse. Thus this may lead to deadlock if all the epoll threads are waiting to complete these callback notifications. To address it, instead of using epoll thread itself, make use of synctask to send those notificaitons to the application. Change-Id: If614e0d09246e4279b9d1f40d883a32a39c8fd90 updates: bz#1655532 Signed-off-by: Soumya Koduri <skoduri@redhat.com>
Diffstat (limited to 'api/src/gfapi-messages.h')
-rw-r--r--api/src/gfapi-messages.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/api/src/gfapi-messages.h b/api/src/gfapi-messages.h
index 4d9dff7196d..07cdb067799 100644
--- a/api/src/gfapi-messages.h
+++ b/api/src/gfapi-messages.h
@@ -77,7 +77,8 @@ GLFS_MSGID(API,
API_MSG_LOCK_INSERT_MERGE_FAILED,
API_MSG_SETTING_LOCK_TYPE_FAILED,
API_MSG_INODE_FIND_FAILED,
- API_MSG_FDCTX_SET_FAILED
+ API_MSG_FDCTX_SET_FAILED,
+ API_MSG_UPCALL_SYNCOP_FAILED
);
#endif /* !_GFAPI_MESSAGES_H__ */