From: Kevin Corry kcopyd.c: client_add() can return void instead of an int, which will eliminate an unnecessary error path in kcopyd_client_create(). Signed-off-by: Kevin Corry Signed-off-by: Andrew Morton --- 25-akpm/drivers/md/kcopyd.c | 13 ++----------- 1 files changed, 2 insertions(+), 11 deletions(-) diff -puN drivers/md/kcopyd.c~2-4-dm-kcopydc-make-client_add-return-void drivers/md/kcopyd.c --- 25/drivers/md/kcopyd.c~2-4-dm-kcopydc-make-client_add-return-void 2004-06-30 13:05:09.166851952 -0700 +++ 25-akpm/drivers/md/kcopyd.c 2004-06-30 13:05:09.169851496 -0700 @@ -573,12 +573,11 @@ int kcopyd_cancel(struct kcopyd_job *job static DECLARE_MUTEX(_client_lock); static LIST_HEAD(_clients); -static int client_add(struct kcopyd_client *kc) +static void client_add(struct kcopyd_client *kc) { down(&_client_lock); list_add(&kc->list, &_clients); up(&_client_lock); - return 0; } static void client_del(struct kcopyd_client *kc) @@ -668,15 +667,7 @@ int kcopyd_client_create(unsigned int nr return r; } - r = client_add(kc); - if (r) { - dm_io_put(nr_pages); - client_free_pages(kc); - kfree(kc); - kcopyd_exit(); - return r; - } - + client_add(kc); *result = kc; return 0; } _