All of lore.kernel.org
 help / color / mirror / Atom feed
From: Bart Van Assche <Bart.VanAssche@sandisk.com>
To: "hch@bombadil.infradead.org" <hch@bombadil.infradead.org>,
	"axboe@kernel.dk" <axboe@kernel.dk>
Cc: "linux-block@vger.kernel.org" <linux-block@vger.kernel.org>,
	"hch@lst.de" <hch@lst.de>,
	"konrad.wilk@oracle.com" <konrad.wilk@oracle.com>,
	"roger.pau@citrix.com" <roger.pau@citrix.com>,
	"linux-scsi@vger.kernel.org" <linux-scsi@vger.kernel.org>,
	"linux-nvme@lists.infradead.org" <linux-nvme@lists.infradead.org>,
	"jbacik@fb.com" <jbacik@fb.com>,
	"james.smart@broadcom.com" <james.smart@broadcom.com>,
	"dm-devel@redhat.com" <dm-devel@redhat.com>
Subject: Re: block: add a error_count field to struct request
Date: Tue, 18 Apr 2017 22:57:11 +0000	[thread overview]
Message-ID: <1492556229.2689.22.camel@sandisk.com> (raw)
In-Reply-To: <20170418155229.5977-18-hch@bombadil.infradead.org>

On Tue, 2017-04-18 at 08:52 -0700, Christoph Hellwig wrote:
> From: Christoph Hellwig <hch@lst.de>
>=20
> This is for the legacy floppy and ataflop drivers that currently abuse
> ->errors for this purpose.  It's stashed away in a union to not grow
> the struct size, the other fields are either used by modern drivers
> for different purposes or the I/O scheduler before queing the I/O
> to drivers.
>=20
> Signed-off-by: Christoph Hellwig <hch@lst.de>
> ---
>  include/linux/blkdev.h | 1 +
>  1 file changed, 1 insertion(+)
>=20
> diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h
> index 5986e1250d7d..e618164462e8 100644
> --- a/include/linux/blkdev.h
> +++ b/include/linux/blkdev.h
> @@ -175,6 +175,7 @@ struct request {
>  		struct rb_node rb_node;	/* sort/lookup */
>  		struct bio_vec special_vec;
>  		void *completion_data;
> +		int error_count; /* for legacy drivers, don't use */
>  	};
> =20
>  	/*

Hello Christoph,

Both blk-mq and the traditional block layer support a .cmd_size field to
make the block layer core allocate driver-specific data at the end of struc=
t
request. Could that mechanism have been used for the error_count field?

Thanks,

Bart.=

WARNING: multiple messages have this Message-ID (diff)
From: Bart Van Assche <Bart.VanAssche@sandisk.com>
To: "hch@bombadil.infradead.org" <hch@bombadil.infradead.org>,
	"axboe@kernel.dk" <axboe@kernel.dk>
Cc: "linux-block@vger.kernel.org" <linux-block@vger.kernel.org>,
	"hch@lst.de" <hch@lst.de>,
	"konrad.wilk@oracle.com" <konrad.wilk@oracle.com>,
	"roger.pau@citrix.com" <roger.pau@citrix.com>,
	"linux-scsi@vger.kernel.org" <linux-scsi@vger.kernel.org>,
	"linux-nvme@lists.infradead.org" <linux-nvme@lists.infradead.org>,
	"jbacik@fb.com" <jbacik@fb.com>,
	"james.smart@broadcom.com" <james.smart@broadcom.com>,
	"dm-devel@redhat.com" <dm-devel@redhat.com>
Subject: Re: block: add a error_count field to struct request
Date: Tue, 18 Apr 2017 22:57:11 +0000	[thread overview]
Message-ID: <1492556229.2689.22.camel@sandisk.com> (raw)
In-Reply-To: <20170418155229.5977-18-hch@bombadil.infradead.org>

On Tue, 2017-04-18 at 08:52 -0700, Christoph Hellwig wrote:
> From: Christoph Hellwig <hch@lst.de>
> 
> This is for the legacy floppy and ataflop drivers that currently abuse
> ->errors for this purpose.  It's stashed away in a union to not grow
> the struct size, the other fields are either used by modern drivers
> for different purposes or the I/O scheduler before queing the I/O
> to drivers.
> 
> Signed-off-by: Christoph Hellwig <hch@lst.de>
> ---
>  include/linux/blkdev.h | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h
> index 5986e1250d7d..e618164462e8 100644
> --- a/include/linux/blkdev.h
> +++ b/include/linux/blkdev.h
> @@ -175,6 +175,7 @@ struct request {
>  		struct rb_node rb_node;	/* sort/lookup */
>  		struct bio_vec special_vec;
>  		void *completion_data;
> +		int error_count; /* for legacy drivers, don't use */
>  	};
>  
>  	/*

Hello Christoph,

Both blk-mq and the traditional block layer support a .cmd_size field to
make the block layer core allocate driver-specific data at the end of struct
request. Could that mechanism have been used for the error_count field?

Thanks,

Bart.

WARNING: multiple messages have this Message-ID (diff)
From: Bart.VanAssche@sandisk.com (Bart Van Assche)
Subject: block: add a error_count field to struct request
Date: Tue, 18 Apr 2017 22:57:11 +0000	[thread overview]
Message-ID: <1492556229.2689.22.camel@sandisk.com> (raw)
In-Reply-To: <20170418155229.5977-18-hch@bombadil.infradead.org>

On Tue, 2017-04-18@08:52 -0700, Christoph Hellwig wrote:
> From: Christoph Hellwig <hch at lst.de>
> 
> This is for the legacy floppy and ataflop drivers that currently abuse
> ->errors for this purpose.  It's stashed away in a union to not grow
> the struct size, the other fields are either used by modern drivers
> for different purposes or the I/O scheduler before queing the I/O
> to drivers.
> 
> Signed-off-by: Christoph Hellwig <hch at lst.de>
> ---
>  include/linux/blkdev.h | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h
> index 5986e1250d7d..e618164462e8 100644
> --- a/include/linux/blkdev.h
> +++ b/include/linux/blkdev.h
> @@ -175,6 +175,7 @@ struct request {
>  		struct rb_node rb_node;	/* sort/lookup */
>  		struct bio_vec special_vec;
>  		void *completion_data;
> +		int error_count; /* for legacy drivers, don't use */
>  	};
>  
>  	/*

Hello Christoph,

Both blk-mq and the traditional block layer support a .cmd_size field to
make the block layer core allocate driver-specific data at the end of struct
request. Could that mechanism have been used for the error_count field?

Thanks,

Bart.

  reply	other threads:[~2017-04-18 22:57 UTC|newest]

Thread overview: 73+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-04-18 15:52 kill req->errors V2 Christoph Hellwig
2017-04-18 15:52 ` Christoph Hellwig
2017-04-18 15:52 ` block: remove the blk_execute_rq return value Christoph Hellwig
2017-04-18 15:52   ` Christoph Hellwig
2017-04-18 22:24   ` Bart Van Assche
2017-04-18 22:24     ` Bart Van Assche
2017-04-18 22:24     ` Bart Van Assche
2017-04-19  6:13     ` hch
2017-04-19  6:13       ` hch
2017-04-18 15:52 ` nvme-fc: fix status code handling in nvme_fc_fcpio_done Christoph Hellwig
2017-04-18 15:52   ` Christoph Hellwig
2017-04-18 21:08   ` James Smart
2017-04-18 21:08     ` James Smart
2017-04-18 15:52 ` nvme: split nvme status from block req->errors Christoph Hellwig
2017-04-18 15:52   ` Christoph Hellwig
2017-04-18 15:52 ` nvme: make nvme_error_status private Christoph Hellwig
2017-04-18 15:52   ` Christoph Hellwig
2017-04-18 15:52 ` virtio: fix spelling of virtblk_scsi_request_done Christoph Hellwig
2017-04-18 15:52   ` Christoph Hellwig
2017-04-18 15:52 ` virtio_blk: don't use req->errors Christoph Hellwig
2017-04-18 15:52   ` Christoph Hellwig
2017-04-18 15:52 ` scsi: introduce a new result field in struct scsi_request Christoph Hellwig
2017-04-18 15:52   ` Christoph Hellwig
2017-04-18 22:34   ` Bart Van Assche
2017-04-18 22:34     ` Bart Van Assche
2017-04-18 22:34     ` Bart Van Assche
2017-04-19  6:14     ` hch
2017-04-19  6:14       ` hch
2017-04-18 15:52 ` loop: zero-fill bio on the submitting cpu Christoph Hellwig
2017-04-18 15:52   ` Christoph Hellwig
2017-04-18 15:52 ` null_blk: don't pass always-0 req->errors to blk_mq_complete_request Christoph Hellwig
2017-04-18 15:52   ` Christoph Hellwig
2017-04-18 15:52 ` dm rq: don't pass irrelevant error code " Christoph Hellwig
2017-04-18 15:52   ` Christoph Hellwig
2017-04-18 15:52 ` dm mpath: don't check for req->errors Christoph Hellwig
2017-04-18 15:52   ` Christoph Hellwig
2017-04-18 15:52 ` nbd: don't use req->errors Christoph Hellwig
2017-04-18 15:52   ` Christoph Hellwig
2017-04-18 15:52 ` mtip32xx: add a status field to struct mtip_cmd Christoph Hellwig
2017-04-18 15:52   ` Christoph Hellwig
2017-04-18 15:52 ` xen-blkfront: don't use req->errors Christoph Hellwig
2017-04-18 15:52   ` Christoph Hellwig
2017-04-18 15:52 ` blk-mq: remove the error argument to blk_mq_complete_request Christoph Hellwig
2017-04-18 15:52   ` Christoph Hellwig
2017-04-18 22:50   ` Bart Van Assche
2017-04-18 22:50     ` Bart Van Assche
2017-04-18 22:50     ` Bart Van Assche
2017-04-19 17:54     ` hch
2017-04-19 17:54       ` hch
2017-04-18 15:52 ` blk-mq: simplify __blk_mq_complete_request Christoph Hellwig
2017-04-18 15:52   ` Christoph Hellwig
2017-04-18 15:52 ` block: add a error_count field to struct request Christoph Hellwig
2017-04-18 15:52   ` Christoph Hellwig
2017-04-18 22:57   ` Bart Van Assche [this message]
2017-04-18 22:57     ` Bart Van Assche
2017-04-18 22:57     ` Bart Van Assche
2017-04-19  6:15     ` hch
2017-04-19  6:15       ` hch
2017-04-18 15:52 ` floppy: switch from req->errors to req->error_count Christoph Hellwig
2017-04-18 15:52   ` Christoph Hellwig
2017-04-18 15:52 ` ataflop: " Christoph Hellwig
2017-04-18 15:52   ` Christoph Hellwig
2017-04-18 15:52 ` swim3: remove (commented out) printing of req->errors Christoph Hellwig
2017-04-18 15:52   ` Christoph Hellwig
2017-04-18 15:52 ` pd: remove bogus check for req->errors Christoph Hellwig
2017-04-18 15:52   ` Christoph Hellwig
2017-04-18 22:59   ` Bart Van Assche
2017-04-18 22:59     ` Bart Van Assche
2017-04-18 22:59     ` Bart Van Assche
2017-04-18 15:52 ` blktrace: remove the unused block_rq_abort tracepoint Christoph Hellwig
2017-04-18 15:52   ` Christoph Hellwig
2017-04-18 15:52 ` block: remove the errors field from struct request Christoph Hellwig
2017-04-18 15:52   ` Christoph Hellwig

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=1492556229.2689.22.camel@sandisk.com \
    --to=bart.vanassche@sandisk.com \
    --cc=axboe@kernel.dk \
    --cc=dm-devel@redhat.com \
    --cc=hch@bombadil.infradead.org \
    --cc=hch@lst.de \
    --cc=james.smart@broadcom.com \
    --cc=jbacik@fb.com \
    --cc=konrad.wilk@oracle.com \
    --cc=linux-block@vger.kernel.org \
    --cc=linux-nvme@lists.infradead.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=roger.pau@citrix.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.