Re: [PATCHv2] nbd: Zero from and len fields in NBD_CMD_DISCONNECT.

2014-05-26 Thread Paul Clements
On Sun, May 25, 2014 at 6:22 PM, Hani Benhabiles  wrote:
> Len field is already set to zero, but not the from field which is sent as
> 0xfe00. This makes no sense, and may cause confuse server
> implementations doing sanity checks (qemu-nbd is an example.)
>
> Signed-off-by: Hani Benhabiles 
> ---
>
> Compared to v1:
> * Zero the request structure instead of conditionally zeroing specific fields.


Yeah, this one looks good. Sorry for the confusion on the structs...


>  drivers/block/nbd.c | 7 ++-
>  1 file changed, 2 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/block/nbd.c b/drivers/block/nbd.c
> index 3a70ea2..8e1df52 100644
> --- a/drivers/block/nbd.c
> +++ b/drivers/block/nbd.c
> @@ -243,14 +243,11 @@ static int nbd_send_req(struct nbd_device *nbd, struct 
> request *req)
> struct nbd_request request;
> unsigned long size = blk_rq_bytes(req);
>
> +   memset(, 0, sizeof(request));
> request.magic = htonl(NBD_REQUEST_MAGIC);
> request.type = htonl(nbd_cmd(req));
>
> -   if (nbd_cmd(req) == NBD_CMD_FLUSH) {
> -   /* Other values are reserved for FLUSH requests.  */
> -   request.from = 0;
> -   request.len = 0;
> -   } else {
> +   if (nbd_cmd(req) != NBD_CMD_FLUSH && nbd_cmd(req) != NBD_CMD_DISC) {
> request.from = cpu_to_be64((u64)blk_rq_pos(req) << 9);
> request.len = htonl(size);
> }
> --
> 1.8.3.2
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCHv2] nbd: Zero from and len fields in NBD_CMD_DISCONNECT.

2014-05-26 Thread Paul Clements
On Sun, May 25, 2014 at 6:22 PM, Hani Benhabiles kroo...@gmail.com wrote:
 Len field is already set to zero, but not the from field which is sent as
 0xfe00. This makes no sense, and may cause confuse server
 implementations doing sanity checks (qemu-nbd is an example.)

 Signed-off-by: Hani Benhabiles h...@linux.com
 ---

 Compared to v1:
 * Zero the request structure instead of conditionally zeroing specific fields.


Yeah, this one looks good. Sorry for the confusion on the structs...


  drivers/block/nbd.c | 7 ++-
  1 file changed, 2 insertions(+), 5 deletions(-)

 diff --git a/drivers/block/nbd.c b/drivers/block/nbd.c
 index 3a70ea2..8e1df52 100644
 --- a/drivers/block/nbd.c
 +++ b/drivers/block/nbd.c
 @@ -243,14 +243,11 @@ static int nbd_send_req(struct nbd_device *nbd, struct 
 request *req)
 struct nbd_request request;
 unsigned long size = blk_rq_bytes(req);

 +   memset(request, 0, sizeof(request));
 request.magic = htonl(NBD_REQUEST_MAGIC);
 request.type = htonl(nbd_cmd(req));

 -   if (nbd_cmd(req) == NBD_CMD_FLUSH) {
 -   /* Other values are reserved for FLUSH requests.  */
 -   request.from = 0;
 -   request.len = 0;
 -   } else {
 +   if (nbd_cmd(req) != NBD_CMD_FLUSH  nbd_cmd(req) != NBD_CMD_DISC) {
 request.from = cpu_to_be64((u64)blk_rq_pos(req)  9);
 request.len = htonl(size);
 }
 --
 1.8.3.2

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCHv2] nbd: Zero from and len fields in NBD_CMD_DISCONNECT.

2014-05-25 Thread Hani Benhabiles
Len field is already set to zero, but not the from field which is sent as
0xfe00. This makes no sense, and may cause confuse server
implementations doing sanity checks (qemu-nbd is an example.)

Signed-off-by: Hani Benhabiles 
---

Compared to v1:
* Zero the request structure instead of conditionally zeroing specific fields.

 drivers/block/nbd.c | 7 ++-
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/drivers/block/nbd.c b/drivers/block/nbd.c
index 3a70ea2..8e1df52 100644
--- a/drivers/block/nbd.c
+++ b/drivers/block/nbd.c
@@ -243,14 +243,11 @@ static int nbd_send_req(struct nbd_device *nbd, struct 
request *req)
struct nbd_request request;
unsigned long size = blk_rq_bytes(req);
 
+   memset(, 0, sizeof(request));
request.magic = htonl(NBD_REQUEST_MAGIC);
request.type = htonl(nbd_cmd(req));
 
-   if (nbd_cmd(req) == NBD_CMD_FLUSH) {
-   /* Other values are reserved for FLUSH requests.  */
-   request.from = 0;
-   request.len = 0;
-   } else {
+   if (nbd_cmd(req) != NBD_CMD_FLUSH && nbd_cmd(req) != NBD_CMD_DISC) {
request.from = cpu_to_be64((u64)blk_rq_pos(req) << 9);
request.len = htonl(size);
}
-- 
1.8.3.2

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCHv2] nbd: Zero from and len fields in NBD_CMD_DISCONNECT.

2014-05-25 Thread Hani Benhabiles
Len field is already set to zero, but not the from field which is sent as
0xfe00. This makes no sense, and may cause confuse server
implementations doing sanity checks (qemu-nbd is an example.)

Signed-off-by: Hani Benhabiles h...@linux.com
---

Compared to v1:
* Zero the request structure instead of conditionally zeroing specific fields.

 drivers/block/nbd.c | 7 ++-
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/drivers/block/nbd.c b/drivers/block/nbd.c
index 3a70ea2..8e1df52 100644
--- a/drivers/block/nbd.c
+++ b/drivers/block/nbd.c
@@ -243,14 +243,11 @@ static int nbd_send_req(struct nbd_device *nbd, struct 
request *req)
struct nbd_request request;
unsigned long size = blk_rq_bytes(req);
 
+   memset(request, 0, sizeof(request));
request.magic = htonl(NBD_REQUEST_MAGIC);
request.type = htonl(nbd_cmd(req));
 
-   if (nbd_cmd(req) == NBD_CMD_FLUSH) {
-   /* Other values are reserved for FLUSH requests.  */
-   request.from = 0;
-   request.len = 0;
-   } else {
+   if (nbd_cmd(req) != NBD_CMD_FLUSH  nbd_cmd(req) != NBD_CMD_DISC) {
request.from = cpu_to_be64((u64)blk_rq_pos(req)  9);
request.len = htonl(size);
}
-- 
1.8.3.2

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/