Subject: [PATCH v2 05/20] block/xen-blkfront: Split blkif_queue_request in 2

From: [email-masked] (Roger Pau Monné)
Date: Tue, 21 Jul 2015 11:54:52 +0200

El 09/07/15 a les 22.42, Julien Grall ha escrit:
> Currently, blkif_queue_request has 2 distinct execution path:
>     - Send a discard request
>     - Send a read/write request
> 
> The function is also allocating grants to use for generating the
> request. Although, this is only used for read/write request.
> 
> Rather than having a function with 2 distinct execution path, separate
> the function in 2. This will also remove one level of tabulation.
> 
> Signed-off-by: Julien Grall <[email-masked]>
> Cc: Konrad Rzeszutek Wilk <[email-masked]>
> Cc: Roger Pau Monn? <[email-masked]>
> Cc: Boris Ostrovsky <[email-masked]>
> Cc: David Vrabel <[email-masked]>

Patch looks fine, although with so much indentation changes it's kind of
hard to review.

Acked-by: Roger Pau Monn? <[email-masked]>

Just one minor change below.

[...]

> @@ -595,6 +603,24 @@ static int blkif_queue_request(struct request *req)
>  	return 0;
>  }
>  
> +/*
> + * Generate a Xen blkfront IO request from a blk layer request.  Reads
> + * and writes are handled as expected.
> + *
> + * @req: a request struct
> + */
> +static int blkif_queue_request(struct request *req)
> +{
> +	struct blkfront_info *info = req->rq_disk->private_data;
> +
> +	if (unlikely(info->connected != BLKIF_STATE_CONNECTED))
> +		return 1;
> +
> +	if (unlikely(req->cmd_flags & (REQ_DISCARD | REQ_SECURE)))
> +		return blkif_queue_discard_req(req);
> +	else
> +		return blkif_queue_rw_req(req);

There's no need for the else clause.

Roger.