Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

dm kcopyd: return client directly and not through a pointer

Return client directly from dm_kcopyd_client_create, not through a
parameter, making it consistent with dm_io_client_create.

Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>

authored by

Mikulas Patocka and committed by
Alasdair G Kergon
fa34ce73 5f43ba29

+12 -10
+4 -5
drivers/md/dm-kcopyd.c
··· 637 637 /*----------------------------------------------------------------- 638 638 * Client setup 639 639 *---------------------------------------------------------------*/ 640 - int dm_kcopyd_client_create(struct dm_kcopyd_client **result) 640 + struct dm_kcopyd_client *dm_kcopyd_client_create(void) 641 641 { 642 642 int r = -ENOMEM; 643 643 struct dm_kcopyd_client *kc; 644 644 645 645 kc = kmalloc(sizeof(*kc), GFP_KERNEL); 646 646 if (!kc) 647 - return -ENOMEM; 647 + return ERR_PTR(-ENOMEM); 648 648 649 649 spin_lock_init(&kc->job_lock); 650 650 INIT_LIST_HEAD(&kc->complete_jobs); ··· 676 676 init_waitqueue_head(&kc->destroyq); 677 677 atomic_set(&kc->nr_jobs, 0); 678 678 679 - *result = kc; 680 - return 0; 679 + return kc; 681 680 682 681 bad_io_client: 683 682 client_free_pages(kc); ··· 687 688 bad_slab: 688 689 kfree(kc); 689 690 690 - return r; 691 + return ERR_PTR(r); 691 692 } 692 693 EXPORT_SYMBOL(dm_kcopyd_client_create); 693 694
+4 -2
drivers/md/dm-raid1.c
··· 1115 1115 goto err_destroy_wq; 1116 1116 } 1117 1117 1118 - r = dm_kcopyd_client_create(&ms->kcopyd_client); 1119 - if (r) 1118 + ms->kcopyd_client = dm_kcopyd_client_create(); 1119 + if (IS_ERR(ms->kcopyd_client)) { 1120 + r = PTR_ERR(ms->kcopyd_client); 1120 1121 goto err_destroy_wq; 1122 + } 1121 1123 1122 1124 wakeup_mirrord(ms); 1123 1125 return 0;
+3 -2
drivers/md/dm-snap.c
··· 1111 1111 goto bad_hash_tables; 1112 1112 } 1113 1113 1114 - r = dm_kcopyd_client_create(&s->kcopyd_client); 1115 - if (r) { 1114 + s->kcopyd_client = dm_kcopyd_client_create(); 1115 + if (IS_ERR(s->kcopyd_client)) { 1116 + r = PTR_ERR(s->kcopyd_client); 1116 1117 ti->error = "Could not create kcopyd client"; 1117 1118 goto bad_kcopyd; 1118 1119 }
+1 -1
include/linux/dm-kcopyd.h
··· 25 25 * To use kcopyd you must first create a dm_kcopyd_client object. 26 26 */ 27 27 struct dm_kcopyd_client; 28 - int dm_kcopyd_client_create(struct dm_kcopyd_client **result); 28 + struct dm_kcopyd_client *dm_kcopyd_client_create(void); 29 29 void dm_kcopyd_client_destroy(struct dm_kcopyd_client *kc); 30 30 31 31 /*