aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/block/drbd/drbd_main.c
diff options
context:
space:
mode:
authorPhilipp Reisner <philipp.reisner@linbit.com>2011-04-22 09:20:23 -0400
committerPhilipp Reisner <philipp.reisner@linbit.com>2012-11-08 10:49:05 -0500
commit1d041225999c6f6246494b02d8f9b405155b52e1 (patch)
treea6c249281d1ba58a267b5300d96be171dfce3b7d /drivers/block/drbd/drbd_main.c
parentf5e2b8b3b6bed8c60103b4ed5341af072129d7c0 (diff)
drbd: Eliminated drbd_free_resoruces() it is superseeded by conn_free_crypto()
Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com> Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
Diffstat (limited to 'drivers/block/drbd/drbd_main.c')
-rw-r--r--drivers/block/drbd/drbd_main.c35
1 files changed, 12 insertions, 23 deletions
diff --git a/drivers/block/drbd/drbd_main.c b/drivers/block/drbd/drbd_main.c
index bfea92297f6a..b9c103f16ae7 100644
--- a/drivers/block/drbd/drbd_main.c
+++ b/drivers/block/drbd/drbd_main.c
@@ -2057,7 +2057,9 @@ void drbd_mdev_cleanup(struct drbd_conf *mdev)
2057 drbd_bm_cleanup(mdev); 2057 drbd_bm_cleanup(mdev);
2058 } 2058 }
2059 2059
2060 drbd_free_resources(mdev); 2060 drbd_free_bc(mdev->ldev);
2061 mdev->ldev = NULL;
2062
2061 clear_bit(AL_SUSPENDED, &mdev->flags); 2063 clear_bit(AL_SUSPENDED, &mdev->flags);
2062 2064
2063 D_ASSERT(list_empty(&mdev->active_ee)); 2065 D_ASSERT(list_empty(&mdev->active_ee));
@@ -2252,7 +2254,8 @@ void drbd_delete_device(struct drbd_conf *mdev)
2252 if (mdev->this_bdev) 2254 if (mdev->this_bdev)
2253 bdput(mdev->this_bdev); 2255 bdput(mdev->this_bdev);
2254 2256
2255 drbd_free_resources(mdev); 2257 drbd_free_bc(mdev->ldev);
2258 mdev->ldev = NULL;
2256 2259
2257 drbd_release_all_peer_reqs(mdev); 2260 drbd_release_all_peer_reqs(mdev);
2258 2261
@@ -2387,11 +2390,18 @@ static void drbd_free_socket(struct drbd_socket *socket)
2387 2390
2388void conn_free_crypto(struct drbd_tconn *tconn) 2391void conn_free_crypto(struct drbd_tconn *tconn)
2389{ 2392{
2393 drbd_free_sock(tconn);
2394
2395 crypto_free_hash(tconn->csums_tfm);
2396 crypto_free_hash(tconn->verify_tfm);
2390 crypto_free_hash(tconn->cram_hmac_tfm); 2397 crypto_free_hash(tconn->cram_hmac_tfm);
2391 crypto_free_hash(tconn->integrity_w_tfm); 2398 crypto_free_hash(tconn->integrity_w_tfm);
2392 crypto_free_hash(tconn->integrity_r_tfm); 2399 crypto_free_hash(tconn->integrity_r_tfm);
2393 kfree(tconn->int_dig_in); 2400 kfree(tconn->int_dig_in);
2394 kfree(tconn->int_dig_vv); 2401 kfree(tconn->int_dig_vv);
2402
2403 tconn->csums_tfm = NULL;
2404 tconn->verify_tfm = NULL;
2395 tconn->cram_hmac_tfm = NULL; 2405 tconn->cram_hmac_tfm = NULL;
2396 tconn->integrity_w_tfm = NULL; 2406 tconn->integrity_w_tfm = NULL;
2397 tconn->integrity_r_tfm = NULL; 2407 tconn->integrity_r_tfm = NULL;
@@ -2700,27 +2710,6 @@ void drbd_free_sock(struct drbd_tconn *tconn)
2700 } 2710 }
2701} 2711}
2702 2712
2703
2704void drbd_free_resources(struct drbd_conf *mdev)
2705{
2706 crypto_free_hash(mdev->tconn->csums_tfm);
2707 mdev->tconn->csums_tfm = NULL;
2708 crypto_free_hash(mdev->tconn->verify_tfm);
2709 mdev->tconn->verify_tfm = NULL;
2710 crypto_free_hash(mdev->tconn->cram_hmac_tfm);
2711 mdev->tconn->cram_hmac_tfm = NULL;
2712 crypto_free_hash(mdev->tconn->integrity_w_tfm);
2713 mdev->tconn->integrity_w_tfm = NULL;
2714 crypto_free_hash(mdev->tconn->integrity_r_tfm);
2715 mdev->tconn->integrity_r_tfm = NULL;
2716
2717 drbd_free_sock(mdev->tconn);
2718
2719 __no_warn(local,
2720 drbd_free_bc(mdev->ldev);
2721 mdev->ldev = NULL;);
2722}
2723
2724/* meta data management */ 2713/* meta data management */
2725 2714
2726struct meta_data_on_disk { 2715struct meta_data_on_disk {