summaryrefslogtreecommitdiffstats
path: root/fs/dlm/lowcomms.c
diff options
context:
space:
mode:
authorNamhyung Kim <namhyung@gmail.com>2010-12-13 20:42:24 +0100
committerDavid Teigland <teigland@redhat.com>2010-12-13 20:42:24 +0100
commitb9d41052794385f9d47ebb7acf4a772f3ad02398 (patch)
tree3908936d603917c36079a595e85ba0abd72b1c1c /fs/dlm/lowcomms.c
parentdlm: reduce cond_resched during send (diff)
downloadlinux-b9d41052794385f9d47ebb7acf4a772f3ad02398.tar.xz
linux-b9d41052794385f9d47ebb7acf4a772f3ad02398.zip
dlm: sanitize work_start() in lowcomms.c
The create_workqueue() returns NULL if failed rather than ERR_PTR(). Fix error checking and remove unnecessary variable 'error'. Signed-off-by: Namhyung Kim <namhyung@gmail.com> Cc: Tejun Heo <tj@kernel.org> Signed-off-by: David Teigland <teigland@redhat.com>
Diffstat (limited to 'fs/dlm/lowcomms.c')
-rw-r--r--fs/dlm/lowcomms.c15
1 files changed, 6 insertions, 9 deletions
diff --git a/fs/dlm/lowcomms.c b/fs/dlm/lowcomms.c
index 0e75f152eac2..9c64ae9e4c1a 100644
--- a/fs/dlm/lowcomms.c
+++ b/fs/dlm/lowcomms.c
@@ -1468,22 +1468,19 @@ static void work_stop(void)
static int work_start(void)
{
- int error;
recv_workqueue = alloc_workqueue("dlm_recv", WQ_MEM_RECLAIM |
WQ_HIGHPRI | WQ_FREEZEABLE, 0);
- error = IS_ERR(recv_workqueue);
- if (error) {
- log_print("can't start dlm_recv %d", error);
- return error;
+ if (!recv_workqueue) {
+ log_print("can't start dlm_recv");
+ return -ENOMEM;
}
send_workqueue = alloc_workqueue("dlm_send", WQ_MEM_RECLAIM |
WQ_HIGHPRI | WQ_FREEZEABLE, 0);
- error = IS_ERR(send_workqueue);
- if (error) {
- log_print("can't start dlm_send %d", error);
+ if (!send_workqueue) {
+ log_print("can't start dlm_send");
destroy_workqueue(recv_workqueue);
- return error;
+ return -ENOMEM;
}
return 0;