kcopyd.c: client_add() can return void instead of an int, which will eliminate an unnecessary error path in kcopyd_client_create(). --- diff/drivers/md/kcopyd.c 2004-07-01 21:34:12.000000000 +0100 +++ source/drivers/md/kcopyd.c 2004-07-01 21:34:23.000000000 +0100 @@ -573,12 +573,11 @@ 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 @@ 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; }