diff options
author | Soumya Koduri <skoduri@redhat.com> | 2018-11-18 23:38:08 +0530 |
---|---|---|
committer | Amar Tumballi <amarts@redhat.com> | 2018-11-26 04:20:05 +0000 |
commit | ad35193718a99494ab1b852ca4cbdf054f73de88 (patch) | |
tree | 8ee241bd33c9a4313d1519fc5119bd6688a107ec /api/src/gfapi-messages.h | |
parent | 0967f3dd0d73263c843d76e1837aa78c3fbf14c1 (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#1648768
Signed-off-by: Soumya Koduri <skoduri@redhat.com>
Diffstat (limited to 'api/src/gfapi-messages.h')
-rw-r--r-- | api/src/gfapi-messages.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/api/src/gfapi-messages.h b/api/src/gfapi-messages.h index 20418627690..03269a1c9d8 100644 --- a/api/src/gfapi-messages.h +++ b/api/src/gfapi-messages.h @@ -49,6 +49,6 @@ GLFS_MSGID(API, API_MSG_MEM_ACCT_INIT_FAILED, API_MSG_MASTER_XLATOR_INIT_FAILED, API_MSG_INODE_LINK_FAILED, API_MSG_STATEDUMP_FAILED, API_MSG_XREADDIRP_R_FAILED, 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__ */ |