drbd: Use container_of() instead of casting

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
diff --git a/drivers/block/drbd/drbd_receiver.c b/drivers/block/drbd/drbd_receiver.c
index 7540b34..c08a99d 100644
--- a/drivers/block/drbd/drbd_receiver.c
+++ b/drivers/block/drbd/drbd_receiver.c
@@ -1455,7 +1455,8 @@
  * drbd_process_done_ee() by asender only */
 static int e_end_resync_block(struct drbd_work *w, int unused)
 {
-	struct drbd_peer_request *peer_req = (struct drbd_peer_request *)w;
+	struct drbd_peer_request *peer_req =
+		container_of(w, struct drbd_peer_request, w);
 	struct drbd_conf *mdev = w->mdev;
 	sector_t sector = peer_req->i.sector;
 	int ok;
@@ -1593,7 +1594,8 @@
  */
 static int e_end_block(struct drbd_work *w, int cancel)
 {
-	struct drbd_peer_request *peer_req = (struct drbd_peer_request *)w;
+	struct drbd_peer_request *peer_req =
+		container_of(w, struct drbd_peer_request, w);
 	struct drbd_conf *mdev = w->mdev;
 	sector_t sector = peer_req->i.sector;
 	int ok = 1, pcmd;
@@ -1631,7 +1633,8 @@
 
 static int e_send_discard_ack(struct drbd_work *w, int unused)
 {
-	struct drbd_peer_request *peer_req = (struct drbd_peer_request *)w;
+	struct drbd_peer_request *peer_req =
+		container_of(w, struct drbd_peer_request, w);
 	struct drbd_conf *mdev = w->mdev;
 	int ok = 1;