this leads to a deadlock as kthreadd creating new threads
can get stuck waiting for memory as well:
PID: 2 TASK:
ffff88015d1e0fb0 CPU: 3 COMMAND: "kthreadd"
Change-Id: I88f14da24ea64dcc02a9fd1f4a9c03f5771f8fda
Signed-off-by: Alex Zhuravlev <bzzz@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/34328
Tested-by: Jenkins
Reviewed-by: Wang Shilong <wshilong@ddn.com>
Reviewed-by: Hongchao Zhang <hongchao@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
char *name;
ENTRY;
+ /* do not try to start a new thread as this can lead to a deadlock */
+ if (current->flags & (PF_MEMALLOC | PF_KSWAPD))
+ RETURN(0);
+
if (qsd->qsd_dev->dd_rdonly)
RETURN(0);