virtualization.lists.linux-foundation.org archive mirror
 help / color / mirror / Atom feed
From: "K. Y. Srinivasan" <kys@microsoft.com>
To: gregkh@suse.de, linux-kernel@vger.kernel.org,
	devel@linuxdriverproject.org, virtualization@lists.osdl.org
Cc: "K. Y. Srinivasan" <kys@microsoft.com>,
	Haiyang Zhang <haiyangz@microsoft.com>,
	Abhishek Kane <v-abkane@microsoft.com>,
	Hank Janssen <hjanssen@microsoft.com>
Subject: [PATCH 02/22] Staging: hv: Embed struct storvsc_request_extension into hv_storvsc_request
Date: Tue,  5 Apr 2011 07:04:46 -0700	[thread overview]
Message-ID: <1302012306-21277-2-git-send-email-kys@microsoft.com> (raw)
In-Reply-To: <1302012306-21277-1-git-send-email-kys@microsoft.com>

Embed struct storvsc_request_extension into hv_storvsc_request.

Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
Signed-off-by: Haiyang Zhang <haiyangz@microsoft.com>
Signed-off-by: Abhishek Kane <v-abkane@microsoft.com>
Signed-off-by: Hank Janssen <hjanssen@microsoft.com>
---
 drivers/staging/hv/blkvsc_drv.c  |    8 --------
 drivers/staging/hv/storvsc.c     |    3 +--
 drivers/staging/hv/storvsc_api.h |    3 +--
 drivers/staging/hv/storvsc_drv.c |    6 ------
 4 files changed, 2 insertions(+), 18 deletions(-)

diff --git a/drivers/staging/hv/blkvsc_drv.c b/drivers/staging/hv/blkvsc_drv.c
index 824080d..9ceaa99 100644
--- a/drivers/staging/hv/blkvsc_drv.c
+++ b/drivers/staging/hv/blkvsc_drv.c
@@ -84,12 +84,6 @@ struct blkvsc_request {
 	unsigned char cmnd[MAX_COMMAND_SIZE];
 
 	struct hv_storvsc_request request;
-	/*
-	 * !!!DO NOT ADD ANYTHING BELOW HERE!!! Otherwise, memory can overlap,
-	 * because - The extension buffer falls right here and is pointed to by
-	 * request.Extension;
-	 * Which sounds like a horrible idea, who designed this?
-	 */
 };
 
 /* Per device structure */
@@ -942,8 +936,6 @@ static int blkvsc_submit_request(struct blkvsc_request *blkvsc_req,
 #endif
 
 	storvsc_req = &blkvsc_req->request;
-	storvsc_req->extension = (void *)((unsigned long)blkvsc_req +
-					  sizeof(struct blkvsc_request));
 
 	storvsc_req->type = blkvsc_req->write ? WRITE_TYPE : READ_TYPE;
 
diff --git a/drivers/staging/hv/storvsc.c b/drivers/staging/hv/storvsc.c
index 6801e37..5cea331 100644
--- a/drivers/staging/hv/storvsc.c
+++ b/drivers/staging/hv/storvsc.c
@@ -533,8 +533,7 @@ int stor_vsc_on_io_request(struct hv_device *device,
 	struct vstor_packet *vstor_packet;
 	int ret = 0;
 
-	request_extension =
-		(struct storvsc_request_extension *)request->extension;
+	request_extension = &request->extension;
 	vstor_packet = &request_extension->vstor_packet;
 	stor_device = get_stor_device(device);
 
diff --git a/drivers/staging/hv/storvsc_api.h b/drivers/staging/hv/storvsc_api.h
index 800ebbf..e41b68b 100644
--- a/drivers/staging/hv/storvsc_api.h
+++ b/drivers/staging/hv/storvsc_api.h
@@ -83,8 +83,7 @@ struct hv_storvsc_request {
 
 	void (*on_io_completion)(struct hv_storvsc_request *request);
 
-	/* This points to the memory after DataBuffer */
-	void *extension;
+	struct storvsc_request_extension extension;
 
 	struct hv_multipage_buffer data_buffer;
 };
diff --git a/drivers/staging/hv/storvsc_drv.c b/drivers/staging/hv/storvsc_drv.c
index 127d122..58d12e0 100644
--- a/drivers/staging/hv/storvsc_drv.c
+++ b/drivers/staging/hv/storvsc_drv.c
@@ -69,10 +69,6 @@ struct storvsc_cmd_request {
 	struct scatterlist *bounce_sgl;
 
 	struct hv_storvsc_request request;
-	/* !!!DO NOT ADD ANYTHING BELOW HERE!!! */
-	/* The extension buffer falls right here and is pointed to by
-	 * request.Extension;
-	 * Which sounds like a very bad design... */
 };
 
 
@@ -763,8 +759,6 @@ static int storvsc_queuecommand_lck(struct scsi_cmnd *scmnd,
 
 	request = &cmd_request->request;
 
-	request->extension =
-		(void *)((unsigned long)cmd_request + request_size);
 	DPRINT_DBG(STORVSC_DRV, "req %p size %d ext %d", request, request_size,
 		   storvsc_drv_obj->request_ext_size);
 
-- 
1.7.4.1

  reply	other threads:[~2011-04-05 14:04 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-04-05 14:04 [RESEND PATCH 00/22] Staging: hv: Cleanup-storage-drivers-phase-II K. Y. Srinivasan
2011-04-05 14:04 ` [PATCH 01/22] Staging: hv: Move the definition of struct storvsc_request_extension K. Y. Srinivasan
2011-04-05 14:04   ` K. Y. Srinivasan [this message]
2011-04-05 14:04   ` [PATCH 03/22] Staging: hv: Get rid of request_ext_size from struct storvsc_driver_object K. Y. Srinivasan
2011-04-05 14:04   ` [PATCH 04/22] Staging: hv: Add a function to map a hv_driver pointer to storvsc driver K. Y. Srinivasan
2011-04-05 14:04   ` [PATCH 05/22] Staging: hv: Use struct completion in struct storvsc_request_extension K. Y. Srinivasan
2011-04-05 14:04   ` [PATCH 06/22] Staging: hv: Allocate request structures zeroed out K. Y. Srinivasan
2011-04-05 14:04   ` [PATCH 07/22] Staging: hv: Get rid of the type field from struct hv_storvsc_request K. Y. Srinivasan
2011-04-05 14:04   ` [PATCH 08/22] Staging: hv: Get rid of the host " K. Y. Srinivasan
2011-04-05 14:04   ` [PATCH 09/22] Staging: hv: Get rid of the bus " K. Y. Srinivasan
2011-04-05 14:04   ` [PATCH 10/22] Staging: hv: Get rid of the target_id " K. Y. Srinivasan
2011-04-05 14:04   ` [PATCH 11/22] Staging: hv: Get rid of lun_id " K. Y. Srinivasan
2011-04-05 14:04   ` [PATCH 12/22] Staging: hv: Get rid of the cdb_len " K. Y. Srinivasan
2011-04-05 14:04   ` [PATCH 13/22] Staging: hv: Get rid of cdb " K. Y. Srinivasan
2011-04-05 14:04   ` [PATCH 14/22] Staging: hv: Get rid of sense_buffer_size " K. Y. Srinivasan
2011-04-05 14:04   ` [PATCH 15/22] Staging: hv: Move sense_buffer field K. Y. Srinivasan
2011-04-05 14:05   ` [PATCH 16/22] Staging: hv: Move the context field from struct hv_storvsc_request K. Y. Srinivasan
2011-04-05 14:05   ` [PATCH 17/22] Staging: hv: Move on_io_completion() " K. Y. Srinivasan
2011-04-05 14:05   ` [PATCH 18/22] Staging: hv: Get rid of the status field " K. Y. Srinivasan
2011-04-05 14:05   ` [PATCH 19/22] Staging: hv: Get rid of the bytes_xfer " K. Y. Srinivasan
2011-04-05 14:05   ` [PATCH 20/22] Staging: hv: Move the data_buffer " K. Y. Srinivasan
2011-04-05 14:05   ` [PATCH 21/22] Staging: hv: Rename struct storvsc_request_extension K. Y. Srinivasan
2011-04-05 14:05   ` [PATCH 22/22] Staging: hv: Get rid of synch primitive in struct blkvsc_request K. Y. Srinivasan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1302012306-21277-2-git-send-email-kys@microsoft.com \
    --to=kys@microsoft.com \
    --cc=devel@linuxdriverproject.org \
    --cc=gregkh@suse.de \
    --cc=haiyangz@microsoft.com \
    --cc=hjanssen@microsoft.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=v-abkane@microsoft.com \
    --cc=virtualization@lists.osdl.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).