[PATCH V3 2/2] block: remove unnecessary argument from blk_execute_rq

2021-01-24 Thread Guoqing Jiang
We can remove 'q' from blk_execute_rq as well after the previous change
in blk_execute_rq_nowait.

And more importantly it never really was needed to start with given
that we can trivial derive it from struct request.

Cc: linux-s...@vger.kernel.org
Cc: virtualization@lists.linux-foundation.org
Cc: linux-...@vger.kernel.org
Cc: linux-...@vger.kernel.org
Cc: linux-n...@lists.infradead.org
Cc: linux-...@vger.kernel.org
Acked-by: Ulf Hansson  # for mmc
Signed-off-by: Guoqing Jiang 
---
 block/blk-exec.c  |  3 +--
 block/bsg.c   |  2 +-
 block/scsi_ioctl.c|  6 +++---
 drivers/block/mtip32xx/mtip32xx.c |  2 +-
 drivers/block/paride/pd.c |  2 +-
 drivers/block/pktcdvd.c   |  2 +-
 drivers/block/virtio_blk.c|  2 +-
 drivers/cdrom/cdrom.c |  2 +-
 drivers/ide/ide-atapi.c   |  2 +-
 drivers/ide/ide-cd.c  |  2 +-
 drivers/ide/ide-cd_ioctl.c|  2 +-
 drivers/ide/ide-devsets.c |  2 +-
 drivers/ide/ide-disk.c|  2 +-
 drivers/ide/ide-ioctls.c  |  4 ++--
 drivers/ide/ide-park.c|  2 +-
 drivers/ide/ide-pm.c  |  4 ++--
 drivers/ide/ide-tape.c|  2 +-
 drivers/ide/ide-taskfile.c|  2 +-
 drivers/mmc/core/block.c  | 10 +-
 drivers/nvme/host/core.c  |  4 ++--
 drivers/nvme/host/lightnvm.c  |  2 +-
 drivers/scsi/scsi_lib.c   |  2 +-
 fs/nfsd/blocklayout.c |  2 +-
 include/linux/blkdev.h|  3 +--
 24 files changed, 33 insertions(+), 35 deletions(-)

diff --git a/block/blk-exec.c b/block/blk-exec.c
index 2e37e85..0ab873f 100644
--- a/block/blk-exec.c
+++ b/block/blk-exec.c
@@ -74,8 +74,7 @@ EXPORT_SYMBOL_GPL(blk_execute_rq_nowait);
  *Insert a fully prepared request at the back of the I/O scheduler queue
  *for execution and wait for completion.
  */
-void blk_execute_rq(struct request_queue *q, struct gendisk *bd_disk,
-  struct request *rq, int at_head)
+void blk_execute_rq(struct gendisk *bd_disk, struct request *rq, int at_head)
 {
DECLARE_COMPLETION_ONSTACK(wait);
unsigned long hang_check;
diff --git a/block/bsg.c b/block/bsg.c
index 3d78e84..bd10922 100644
--- a/block/bsg.c
+++ b/block/bsg.c
@@ -183,7 +183,7 @@ static int bsg_sg_io(struct request_queue *q, fmode_t mode, 
void __user *uarg)
 
bio = rq->bio;
 
-   blk_execute_rq(q, NULL, rq, !(hdr.flags & BSG_FLAG_Q_AT_TAIL));
+   blk_execute_rq(NULL, rq, !(hdr.flags & BSG_FLAG_Q_AT_TAIL));
ret = rq->q->bsg_dev.ops->complete_rq(rq, );
blk_rq_unmap_user(bio);
 
diff --git a/block/scsi_ioctl.c b/block/scsi_ioctl.c
index c9f009c..6599bac 100644
--- a/block/scsi_ioctl.c
+++ b/block/scsi_ioctl.c
@@ -357,7 +357,7 @@ static int sg_io(struct request_queue *q, struct gendisk 
*bd_disk,
 * (if he doesn't check that is his problem).
 * N.B. a non-zero SCSI status is _not_ necessarily an error.
 */
-   blk_execute_rq(q, bd_disk, rq, at_head);
+   blk_execute_rq(bd_disk, rq, at_head);
 
hdr->duration = jiffies_to_msecs(jiffies - start_time);
 
@@ -493,7 +493,7 @@ int sg_scsi_ioctl(struct request_queue *q, struct gendisk 
*disk, fmode_t mode,
goto error;
}
 
-   blk_execute_rq(q, disk, rq, 0);
+   blk_execute_rq(disk, rq, 0);
 
err = req->result & 0xff;   /* only 8 bit SCSI status */
if (err) {
@@ -532,7 +532,7 @@ static int __blk_send_generic(struct request_queue *q, 
struct gendisk *bd_disk,
scsi_req(rq)->cmd[0] = cmd;
scsi_req(rq)->cmd[4] = data;
scsi_req(rq)->cmd_len = 6;
-   blk_execute_rq(q, bd_disk, rq, 0);
+   blk_execute_rq(bd_disk, rq, 0);
err = scsi_req(rq)->result ? -EIO : 0;
blk_put_request(rq);
 
diff --git a/drivers/block/mtip32xx/mtip32xx.c 
b/drivers/block/mtip32xx/mtip32xx.c
index 53ac59d..3fd9983 100644
--- a/drivers/block/mtip32xx/mtip32xx.c
+++ b/drivers/block/mtip32xx/mtip32xx.c
@@ -1015,7 +1015,7 @@ static int mtip_exec_internal_command(struct mtip_port 
*port,
rq->timeout = timeout;
 
/* insert request and run queue */
-   blk_execute_rq(rq->q, NULL, rq, true);
+   blk_execute_rq(NULL, rq, true);
 
if (int_cmd->status) {
dev_err(>pdev->dev, "Internal command [%02X] failed %d\n",
diff --git a/drivers/block/paride/pd.c b/drivers/block/paride/pd.c
index a7af4f2..897acda 100644
--- a/drivers/block/paride/pd.c
+++ b/drivers/block/paride/pd.c
@@ -781,7 +781,7 @@ static int pd_special_command(struct pd_unit *disk,
req = blk_mq_rq_to_pdu(rq);
 
req->func = func;
-   blk_execute_rq(disk->gd->queue, disk->gd, rq, 0);
+   blk_execute_rq(disk->gd, rq, 0);
blk_put_request(rq);
return 0;
 }
diff --git a/drivers/block/pktcdvd.c b/drivers/block/pktcdvd.c
index 6

[PATCH V3 0/2] remove unused argument from blk_execute_rq_nowait and blk_execute_rq

2021-01-24 Thread Guoqing Jiang
V3 changes:
1. rebase with for-5.12/block branch.
2. add Ulf's Acked-by.

V2 changes:
1. update commit header per Christoph's comment.

Hi Jens,

This series remove unused 'q' from blk_execute_rq_nowait and blk_execute_rq.
Also update the comment for blk_execute_rq_nowait.

Thanks,
Guoqing

Guoqing Jiang (2):
  block: remove unnecessary argument from blk_execute_rq_nowait
  block: remove unnecessary argument from blk_execute_rq

 block/blk-exec.c   | 13 +
 block/bsg.c|  2 +-
 block/scsi_ioctl.c |  6 +++---
 drivers/block/mtip32xx/mtip32xx.c  |  2 +-
 drivers/block/paride/pd.c  |  2 +-
 drivers/block/pktcdvd.c|  2 +-
 drivers/block/sx8.c|  4 ++--
 drivers/block/virtio_blk.c |  2 +-
 drivers/cdrom/cdrom.c  |  2 +-
 drivers/ide/ide-atapi.c|  2 +-
 drivers/ide/ide-cd.c   |  2 +-
 drivers/ide/ide-cd_ioctl.c |  2 +-
 drivers/ide/ide-devsets.c  |  2 +-
 drivers/ide/ide-disk.c |  2 +-
 drivers/ide/ide-ioctls.c   |  4 ++--
 drivers/ide/ide-park.c |  2 +-
 drivers/ide/ide-pm.c   |  4 ++--
 drivers/ide/ide-tape.c |  2 +-
 drivers/ide/ide-taskfile.c |  2 +-
 drivers/mmc/core/block.c   | 10 +-
 drivers/nvme/host/core.c   |  8 
 drivers/nvme/host/lightnvm.c   |  4 ++--
 drivers/nvme/host/pci.c|  4 ++--
 drivers/nvme/target/passthru.c |  2 +-
 drivers/scsi/scsi_error.c  |  2 +-
 drivers/scsi/scsi_lib.c|  2 +-
 drivers/scsi/sg.c  |  3 +--
 drivers/scsi/st.c  |  2 +-
 drivers/target/target_core_pscsi.c |  3 +--
 fs/nfsd/blocklayout.c  |  2 +-
 include/linux/blkdev.h |  5 ++---
 31 files changed, 50 insertions(+), 56 deletions(-)

-- 
2.7.4

___
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization


[PATCH V3 1/2] block: remove unnecessary argument from blk_execute_rq_nowait

2021-01-24 Thread Guoqing Jiang
The 'q' is not used since commit a1ce35fa4985 ("block: remove dead
elevator code"), also update the comment of the function.

And more importantly it never really was needed to start with given
that we can trivial derive it from struct request.

Cc: target-de...@vger.kernel.org
Cc: linux-s...@vger.kernel.org
Cc: virtualization@lists.linux-foundation.org
Cc: linux-...@vger.kernel.org
Cc: linux-...@vger.kernel.org
Cc: linux-n...@lists.infradead.org
Cc: linux-...@vger.kernel.org
Signed-off-by: Guoqing Jiang 
---
 block/blk-exec.c   | 10 --
 drivers/block/sx8.c|  4 ++--
 drivers/nvme/host/core.c   |  4 ++--
 drivers/nvme/host/lightnvm.c   |  2 +-
 drivers/nvme/host/pci.c|  4 ++--
 drivers/nvme/target/passthru.c |  2 +-
 drivers/scsi/scsi_error.c  |  2 +-
 drivers/scsi/sg.c  |  3 +--
 drivers/scsi/st.c  |  2 +-
 drivers/target/target_core_pscsi.c |  3 +--
 include/linux/blkdev.h |  2 +-
 11 files changed, 17 insertions(+), 21 deletions(-)

diff --git a/block/blk-exec.c b/block/blk-exec.c
index 85324d5..2e37e85 100644
--- a/block/blk-exec.c
+++ b/block/blk-exec.c
@@ -31,8 +31,7 @@ static void blk_end_sync_rq(struct request *rq, blk_status_t 
error)
 }
 
 /**
- * blk_execute_rq_nowait - insert a request into queue for execution
- * @q: queue to insert the request in
+ * blk_execute_rq_nowait - insert a request to I/O scheduler for execution
  * @bd_disk:   matching gendisk
  * @rq:request to insert
  * @at_head:insert request at head or tail of queue
@@ -45,9 +44,8 @@ static void blk_end_sync_rq(struct request *rq, blk_status_t 
error)
  * Note:
  *This function will invoke @done directly if the queue is dead.
  */
-void blk_execute_rq_nowait(struct request_queue *q, struct gendisk *bd_disk,
-  struct request *rq, int at_head,
-  rq_end_io_fn *done)
+void blk_execute_rq_nowait(struct gendisk *bd_disk, struct request *rq,
+  int at_head, rq_end_io_fn *done)
 {
WARN_ON(irqs_disabled());
WARN_ON(!blk_rq_is_passthrough(rq));
@@ -83,7 +81,7 @@ void blk_execute_rq(struct request_queue *q, struct gendisk 
*bd_disk,
unsigned long hang_check;
 
rq->end_io_data = 
-   blk_execute_rq_nowait(q, bd_disk, rq, at_head, blk_end_sync_rq);
+   blk_execute_rq_nowait(bd_disk, rq, at_head, blk_end_sync_rq);
 
/* Prevent hang_check timer from firing at us during very long I/O */
hang_check = sysctl_hung_task_timeout_secs;
diff --git a/drivers/block/sx8.c b/drivers/block/sx8.c
index 4478eb7..2cdf277 100644
--- a/drivers/block/sx8.c
+++ b/drivers/block/sx8.c
@@ -539,7 +539,7 @@ static int carm_array_info (struct carm_host *host, 
unsigned int array_idx)
spin_unlock_irq(>lock);
 
DPRINTK("blk_execute_rq_nowait, tag == %u\n", rq->tag);
-   blk_execute_rq_nowait(host->oob_q, NULL, rq, true, NULL);
+   blk_execute_rq_nowait(NULL, rq, true, NULL);
 
return 0;
 
@@ -578,7 +578,7 @@ static int carm_send_special (struct carm_host *host, 
carm_sspc_t func)
crq->msg_bucket = (u32) rc;
 
DPRINTK("blk_execute_rq_nowait, tag == %u\n", rq->tag);
-   blk_execute_rq_nowait(host->oob_q, NULL, rq, true, NULL);
+   blk_execute_rq_nowait(NULL, rq, true, NULL);
 
return 0;
 }
diff --git a/drivers/nvme/host/core.c b/drivers/nvme/host/core.c
index a39befb..0bea9ae 100644
--- a/drivers/nvme/host/core.c
+++ b/drivers/nvme/host/core.c
@@ -925,7 +925,7 @@ static void nvme_execute_rq_polled(struct request_queue *q,
 
rq->cmd_flags |= REQ_HIPRI;
rq->end_io_data = 
-   blk_execute_rq_nowait(q, bd_disk, rq, at_head, nvme_end_sync_rq);
+   blk_execute_rq_nowait(bd_disk, rq, at_head, nvme_end_sync_rq);
 
while (!completion_done()) {
blk_poll(q, request_to_qc_t(rq->mq_hctx, rq), true);
@@ -1202,7 +1202,7 @@ static int nvme_keep_alive(struct nvme_ctrl *ctrl)
rq->timeout = ctrl->kato * HZ;
rq->end_io_data = ctrl;
 
-   blk_execute_rq_nowait(rq->q, NULL, rq, 0, nvme_keep_alive_end_io);
+   blk_execute_rq_nowait(NULL, rq, 0, nvme_keep_alive_end_io);
 
return 0;
 }
diff --git a/drivers/nvme/host/lightnvm.c b/drivers/nvme/host/lightnvm.c
index 6c8eab8..0e5a550 100644
--- a/drivers/nvme/host/lightnvm.c
+++ b/drivers/nvme/host/lightnvm.c
@@ -695,7 +695,7 @@ static int nvme_nvm_submit_io(struct nvm_dev *dev, struct 
nvm_rq *rqd,
 
rq->end_io_data = rqd;
 
-   blk_execute_rq_nowait(q, NULL, rq, 0, nvme_nvm_end_io);
+   blk_execute_rq_nowait(NULL, rq, 0, nvme_nvm_end_io);
 
return 0;
 
diff --git a/drivers/nvme/host/pci.c b/drivers/nvme/host/pci.c
index 856aa31..5b78e68 100644
--- a/drivers/nvme/host/pci.c
+++ b/drivers/nvme/host/pci.c
@@ -1357,7 +1357,7 @@ stati

Re: [PATCH V2 2/2] block: remove unnecessary argument from blk_execute_rq

2021-01-24 Thread Guoqing Jiang




On 1/22/21 10:50, Ulf Hansson wrote:

On Fri, 22 Jan 2021 at 10:28, Guoqing Jiang
 wrote:


We can remove 'q' from blk_execute_rq as well after the previous change
in blk_execute_rq_nowait.

And more importantly it never really was needed to start with given
that we can trivial derive it from struct request.

Cc: linux-s...@vger.kernel.org
Cc: virtualization@lists.linux-foundation.org
Cc: linux-...@vger.kernel.org
Cc: linux-...@vger.kernel.org
Cc: linux-n...@lists.infradead.org
Cc: linux-...@vger.kernel.org
Signed-off-by: Guoqing Jiang 


[...]


  drivers/mmc/core/block.c  | 10 +-


[...]

 From mmc point of view, please add:

Acked-by: Ulf Hansson 

At the moment I don't think this will conflict with any changes to
mmc, but if that happens let's sort it then...



Thank you! Will resend and add your acked-by.

Guoqing
___
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization


Re: [PATCH V2 0/2] remove unused argument from blk_execute_rq_nowait and blk_execute_rq

2021-01-24 Thread Guoqing Jiang




On 1/25/21 02:24, Jens Axboe wrote:

On 1/22/21 2:28 AM, Guoqing Jiang wrote:

V2 changes:
1. update commit header per Christoph's comment.

Hi Jens,

This series remove unused 'q' from blk_execute_rq_nowait and blk_execute_rq.
Also update the comment for blk_execute_rq_nowait.


What's this against? The lightnvm patch doesn't apply.



Sorry for that, will resend against for-5.12/block.

Thanks,
Guoqing
___
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization


[PATCH V2 0/2] remove unused argument from blk_execute_rq_nowait and blk_execute_rq

2021-01-22 Thread Guoqing Jiang
V2 changes:
1. update commit header per Christoph's comment.

Hi Jens,

This series remove unused 'q' from blk_execute_rq_nowait and blk_execute_rq.
Also update the comment for blk_execute_rq_nowait.

Thanks,
Guoqing

Guoqing Jiang (2):
  block: remove unnecessary argument from blk_execute_rq_nowait
  block: remove unnecessary argument from blk_execute_rq

 block/blk-exec.c   | 13 +
 block/bsg.c|  2 +-
 block/scsi_ioctl.c |  6 +++---
 drivers/block/mtip32xx/mtip32xx.c  |  2 +-
 drivers/block/paride/pd.c  |  2 +-
 drivers/block/pktcdvd.c|  2 +-
 drivers/block/sx8.c|  4 ++--
 drivers/block/virtio_blk.c |  2 +-
 drivers/cdrom/cdrom.c  |  2 +-
 drivers/ide/ide-atapi.c|  2 +-
 drivers/ide/ide-cd.c   |  2 +-
 drivers/ide/ide-cd_ioctl.c |  2 +-
 drivers/ide/ide-devsets.c  |  2 +-
 drivers/ide/ide-disk.c |  2 +-
 drivers/ide/ide-ioctls.c   |  4 ++--
 drivers/ide/ide-park.c |  2 +-
 drivers/ide/ide-pm.c   |  4 ++--
 drivers/ide/ide-tape.c |  2 +-
 drivers/ide/ide-taskfile.c |  2 +-
 drivers/mmc/core/block.c   | 10 +-
 drivers/nvme/host/core.c   |  8 
 drivers/nvme/host/lightnvm.c   |  4 ++--
 drivers/nvme/host/pci.c|  4 ++--
 drivers/nvme/target/passthru.c |  2 +-
 drivers/scsi/scsi_error.c  |  2 +-
 drivers/scsi/scsi_lib.c|  2 +-
 drivers/scsi/sg.c  |  3 +--
 drivers/scsi/st.c  |  2 +-
 drivers/target/target_core_pscsi.c |  3 +--
 fs/nfsd/blocklayout.c  |  2 +-
 include/linux/blkdev.h |  5 ++---
 31 files changed, 50 insertions(+), 56 deletions(-)

-- 
2.17.1

___
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization


[PATCH V2 2/2] block: remove unnecessary argument from blk_execute_rq

2021-01-22 Thread Guoqing Jiang
We can remove 'q' from blk_execute_rq as well after the previous change
in blk_execute_rq_nowait.

And more importantly it never really was needed to start with given
that we can trivial derive it from struct request.

Cc: linux-s...@vger.kernel.org
Cc: virtualization@lists.linux-foundation.org
Cc: linux-...@vger.kernel.org
Cc: linux-...@vger.kernel.org
Cc: linux-n...@lists.infradead.org
Cc: linux-...@vger.kernel.org
Signed-off-by: Guoqing Jiang 
---
 block/blk-exec.c  |  3 +--
 block/bsg.c   |  2 +-
 block/scsi_ioctl.c|  6 +++---
 drivers/block/mtip32xx/mtip32xx.c |  2 +-
 drivers/block/paride/pd.c |  2 +-
 drivers/block/pktcdvd.c   |  2 +-
 drivers/block/virtio_blk.c|  2 +-
 drivers/cdrom/cdrom.c |  2 +-
 drivers/ide/ide-atapi.c   |  2 +-
 drivers/ide/ide-cd.c  |  2 +-
 drivers/ide/ide-cd_ioctl.c|  2 +-
 drivers/ide/ide-devsets.c |  2 +-
 drivers/ide/ide-disk.c|  2 +-
 drivers/ide/ide-ioctls.c  |  4 ++--
 drivers/ide/ide-park.c|  2 +-
 drivers/ide/ide-pm.c  |  4 ++--
 drivers/ide/ide-tape.c|  2 +-
 drivers/ide/ide-taskfile.c|  2 +-
 drivers/mmc/core/block.c  | 10 +-
 drivers/nvme/host/core.c  |  4 ++--
 drivers/nvme/host/lightnvm.c  |  2 +-
 drivers/scsi/scsi_lib.c   |  2 +-
 fs/nfsd/blocklayout.c |  2 +-
 include/linux/blkdev.h|  3 +--
 24 files changed, 33 insertions(+), 35 deletions(-)

diff --git a/block/blk-exec.c b/block/blk-exec.c
index 2e37e85456fb..0ab873f10133 100644
--- a/block/blk-exec.c
+++ b/block/blk-exec.c
@@ -74,8 +74,7 @@ EXPORT_SYMBOL_GPL(blk_execute_rq_nowait);
  *Insert a fully prepared request at the back of the I/O scheduler queue
  *for execution and wait for completion.
  */
-void blk_execute_rq(struct request_queue *q, struct gendisk *bd_disk,
-  struct request *rq, int at_head)
+void blk_execute_rq(struct gendisk *bd_disk, struct request *rq, int at_head)
 {
DECLARE_COMPLETION_ONSTACK(wait);
unsigned long hang_check;
diff --git a/block/bsg.c b/block/bsg.c
index d7bae94b64d9..26e74a1ad9e2 100644
--- a/block/bsg.c
+++ b/block/bsg.c
@@ -181,7 +181,7 @@ static int bsg_sg_io(struct request_queue *q, fmode_t mode, 
void __user *uarg)
 
bio = rq->bio;
 
-   blk_execute_rq(q, NULL, rq, !(hdr.flags & BSG_FLAG_Q_AT_TAIL));
+   blk_execute_rq(NULL, rq, !(hdr.flags & BSG_FLAG_Q_AT_TAIL));
ret = rq->q->bsg_dev.ops->complete_rq(rq, );
blk_rq_unmap_user(bio);
 
diff --git a/block/scsi_ioctl.c b/block/scsi_ioctl.c
index c9f009cc0446..6599bac0a78c 100644
--- a/block/scsi_ioctl.c
+++ b/block/scsi_ioctl.c
@@ -357,7 +357,7 @@ static int sg_io(struct request_queue *q, struct gendisk 
*bd_disk,
 * (if he doesn't check that is his problem).
 * N.B. a non-zero SCSI status is _not_ necessarily an error.
 */
-   blk_execute_rq(q, bd_disk, rq, at_head);
+   blk_execute_rq(bd_disk, rq, at_head);
 
hdr->duration = jiffies_to_msecs(jiffies - start_time);
 
@@ -493,7 +493,7 @@ int sg_scsi_ioctl(struct request_queue *q, struct gendisk 
*disk, fmode_t mode,
goto error;
}
 
-   blk_execute_rq(q, disk, rq, 0);
+   blk_execute_rq(disk, rq, 0);
 
err = req->result & 0xff;   /* only 8 bit SCSI status */
if (err) {
@@ -532,7 +532,7 @@ static int __blk_send_generic(struct request_queue *q, 
struct gendisk *bd_disk,
scsi_req(rq)->cmd[0] = cmd;
scsi_req(rq)->cmd[4] = data;
scsi_req(rq)->cmd_len = 6;
-   blk_execute_rq(q, bd_disk, rq, 0);
+   blk_execute_rq(bd_disk, rq, 0);
err = scsi_req(rq)->result ? -EIO : 0;
blk_put_request(rq);
 
diff --git a/drivers/block/mtip32xx/mtip32xx.c 
b/drivers/block/mtip32xx/mtip32xx.c
index 53ac59d19ae5..3fd99836bb1c 100644
--- a/drivers/block/mtip32xx/mtip32xx.c
+++ b/drivers/block/mtip32xx/mtip32xx.c
@@ -1015,7 +1015,7 @@ static int mtip_exec_internal_command(struct mtip_port 
*port,
rq->timeout = timeout;
 
/* insert request and run queue */
-   blk_execute_rq(rq->q, NULL, rq, true);
+   blk_execute_rq(NULL, rq, true);
 
if (int_cmd->status) {
dev_err(>pdev->dev, "Internal command [%02X] failed %d\n",
diff --git a/drivers/block/paride/pd.c b/drivers/block/paride/pd.c
index a7af4f27b7c3..897acda20ac8 100644
--- a/drivers/block/paride/pd.c
+++ b/drivers/block/paride/pd.c
@@ -781,7 +781,7 @@ static int pd_special_command(struct pd_unit *disk,
req = blk_mq_rq_to_pdu(rq);
 
req->func = func;
-   blk_execute_rq(disk->gd->queue, disk->gd, rq, 0);
+   blk_execute_rq(disk->gd, rq, 0);
blk_put_request(rq);
return 0;
 }
diff --git a/drivers/block/pktcdvd.c b/drivers/block/pkt

[PATCH V2 1/2] block: remove unnecessary argument from blk_execute_rq_nowait

2021-01-22 Thread Guoqing Jiang
The 'q' is not used since commit a1ce35fa4985 ("block: remove dead
elevator code"), also update the comment of the function.

And more importantly it never really was needed to start with given
that we can trivial derive it from struct request.

Cc: target-de...@vger.kernel.org
Cc: linux-s...@vger.kernel.org
Cc: virtualization@lists.linux-foundation.org
Cc: linux-...@vger.kernel.org
Cc: linux-...@vger.kernel.org
Cc: linux-n...@lists.infradead.org
Cc: linux-...@vger.kernel.org
Signed-off-by: Guoqing Jiang 
---
 block/blk-exec.c   | 10 --
 drivers/block/sx8.c|  4 ++--
 drivers/nvme/host/core.c   |  4 ++--
 drivers/nvme/host/lightnvm.c   |  2 +-
 drivers/nvme/host/pci.c|  4 ++--
 drivers/nvme/target/passthru.c |  2 +-
 drivers/scsi/scsi_error.c  |  2 +-
 drivers/scsi/sg.c  |  3 +--
 drivers/scsi/st.c  |  2 +-
 drivers/target/target_core_pscsi.c |  3 +--
 include/linux/blkdev.h |  2 +-
 11 files changed, 17 insertions(+), 21 deletions(-)

diff --git a/block/blk-exec.c b/block/blk-exec.c
index 85324d53d072..2e37e85456fb 100644
--- a/block/blk-exec.c
+++ b/block/blk-exec.c
@@ -31,8 +31,7 @@ static void blk_end_sync_rq(struct request *rq, blk_status_t 
error)
 }
 
 /**
- * blk_execute_rq_nowait - insert a request into queue for execution
- * @q: queue to insert the request in
+ * blk_execute_rq_nowait - insert a request to I/O scheduler for execution
  * @bd_disk:   matching gendisk
  * @rq:request to insert
  * @at_head:insert request at head or tail of queue
@@ -45,9 +44,8 @@ static void blk_end_sync_rq(struct request *rq, blk_status_t 
error)
  * Note:
  *This function will invoke @done directly if the queue is dead.
  */
-void blk_execute_rq_nowait(struct request_queue *q, struct gendisk *bd_disk,
-  struct request *rq, int at_head,
-  rq_end_io_fn *done)
+void blk_execute_rq_nowait(struct gendisk *bd_disk, struct request *rq,
+  int at_head, rq_end_io_fn *done)
 {
WARN_ON(irqs_disabled());
WARN_ON(!blk_rq_is_passthrough(rq));
@@ -83,7 +81,7 @@ void blk_execute_rq(struct request_queue *q, struct gendisk 
*bd_disk,
unsigned long hang_check;
 
rq->end_io_data = 
-   blk_execute_rq_nowait(q, bd_disk, rq, at_head, blk_end_sync_rq);
+   blk_execute_rq_nowait(bd_disk, rq, at_head, blk_end_sync_rq);
 
/* Prevent hang_check timer from firing at us during very long I/O */
hang_check = sysctl_hung_task_timeout_secs;
diff --git a/drivers/block/sx8.c b/drivers/block/sx8.c
index 4478eb7efee0..2cdf2771f8e8 100644
--- a/drivers/block/sx8.c
+++ b/drivers/block/sx8.c
@@ -539,7 +539,7 @@ static int carm_array_info (struct carm_host *host, 
unsigned int array_idx)
spin_unlock_irq(>lock);
 
DPRINTK("blk_execute_rq_nowait, tag == %u\n", rq->tag);
-   blk_execute_rq_nowait(host->oob_q, NULL, rq, true, NULL);
+   blk_execute_rq_nowait(NULL, rq, true, NULL);
 
return 0;
 
@@ -578,7 +578,7 @@ static int carm_send_special (struct carm_host *host, 
carm_sspc_t func)
crq->msg_bucket = (u32) rc;
 
DPRINTK("blk_execute_rq_nowait, tag == %u\n", rq->tag);
-   blk_execute_rq_nowait(host->oob_q, NULL, rq, true, NULL);
+   blk_execute_rq_nowait(NULL, rq, true, NULL);
 
return 0;
 }
diff --git a/drivers/nvme/host/core.c b/drivers/nvme/host/core.c
index f320273fc672..63c469edb1bc 100644
--- a/drivers/nvme/host/core.c
+++ b/drivers/nvme/host/core.c
@@ -925,7 +925,7 @@ static void nvme_execute_rq_polled(struct request_queue *q,
 
rq->cmd_flags |= REQ_HIPRI;
rq->end_io_data = 
-   blk_execute_rq_nowait(q, bd_disk, rq, at_head, nvme_end_sync_rq);
+   blk_execute_rq_nowait(bd_disk, rq, at_head, nvme_end_sync_rq);
 
while (!completion_done()) {
blk_poll(q, request_to_qc_t(rq->mq_hctx, rq), true);
@@ -1202,7 +1202,7 @@ static int nvme_keep_alive(struct nvme_ctrl *ctrl)
rq->timeout = ctrl->kato * HZ;
rq->end_io_data = ctrl;
 
-   blk_execute_rq_nowait(rq->q, NULL, rq, 0, nvme_keep_alive_end_io);
+   blk_execute_rq_nowait(NULL, rq, 0, nvme_keep_alive_end_io);
 
return 0;
 }
diff --git a/drivers/nvme/host/lightnvm.c b/drivers/nvme/host/lightnvm.c
index 470cef3abec3..439f2b52e985 100644
--- a/drivers/nvme/host/lightnvm.c
+++ b/drivers/nvme/host/lightnvm.c
@@ -695,7 +695,7 @@ static int nvme_nvm_submit_io(struct nvm_dev *dev, struct 
nvm_rq *rqd,
 
rq->end_io_data = rqd;
 
-   blk_execute_rq_nowait(q, NULL, rq, 0, nvme_nvm_end_io);
+   blk_execute_rq_nowait(NULL, rq, 0, nvme_nvm_end_io);
 
return 0;
 
diff --git a/drivers/nvme/host/pci.c b/drivers/nvme/host/pci.c
index 50d9a20568a2..6aa11067c8d0 100644
--- a/drivers/nvme/host/pci.c
+++ b/dr

Re: [PATCH 1/2] block: remove unnecessary argument from blk_execute_rq_nowait

2021-01-21 Thread Guoqing Jiang




On 1/21/21 18:02, Christoph Hellwig wrote:

On Thu, Jan 21, 2021 at 03:29:04PM +0100, Guoqing Jiang wrote:

The 'q' is not used since commit a1ce35fa4985 ("block: remove dead
elevator code"), also update the comment of the function.


And more importantly it never really was needed to start with given
that we can triviall derive it from struct request.


Thanks Christoph, will add the above to header and send new version.

Guoqing
___
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization


[PATCH 2/2] block: remove unnecessary argument from blk_execute_rq

2021-01-21 Thread Guoqing Jiang
We can remove 'q' from blk_execute_rq as well after the previous change
in blk_execute_rq_nowait.

Cc: linux-s...@vger.kernel.org
Cc: virtualization@lists.linux-foundation.org
Cc: linux-...@vger.kernel.org
Cc: linux-...@vger.kernel.org
Cc: linux-n...@lists.infradead.org
Cc: linux-...@vger.kernel.org
Signed-off-by: Guoqing Jiang 
---
 block/blk-exec.c  |  3 +--
 block/bsg.c   |  2 +-
 block/scsi_ioctl.c|  6 +++---
 drivers/block/mtip32xx/mtip32xx.c |  2 +-
 drivers/block/paride/pd.c |  2 +-
 drivers/block/pktcdvd.c   |  2 +-
 drivers/block/virtio_blk.c|  2 +-
 drivers/cdrom/cdrom.c |  2 +-
 drivers/ide/ide-atapi.c   |  2 +-
 drivers/ide/ide-cd.c  |  2 +-
 drivers/ide/ide-cd_ioctl.c|  2 +-
 drivers/ide/ide-devsets.c |  2 +-
 drivers/ide/ide-disk.c|  2 +-
 drivers/ide/ide-ioctls.c  |  4 ++--
 drivers/ide/ide-park.c|  2 +-
 drivers/ide/ide-pm.c  |  4 ++--
 drivers/ide/ide-tape.c|  2 +-
 drivers/ide/ide-taskfile.c|  2 +-
 drivers/mmc/core/block.c  | 10 +-
 drivers/nvme/host/core.c  |  4 ++--
 drivers/nvme/host/lightnvm.c  |  2 +-
 drivers/scsi/scsi_lib.c   |  2 +-
 fs/nfsd/blocklayout.c |  2 +-
 include/linux/blkdev.h|  3 +--
 24 files changed, 33 insertions(+), 35 deletions(-)

diff --git a/block/blk-exec.c b/block/blk-exec.c
index 2e37e85456fb..0ab873f10133 100644
--- a/block/blk-exec.c
+++ b/block/blk-exec.c
@@ -74,8 +74,7 @@ EXPORT_SYMBOL_GPL(blk_execute_rq_nowait);
  *Insert a fully prepared request at the back of the I/O scheduler queue
  *for execution and wait for completion.
  */
-void blk_execute_rq(struct request_queue *q, struct gendisk *bd_disk,
-  struct request *rq, int at_head)
+void blk_execute_rq(struct gendisk *bd_disk, struct request *rq, int at_head)
 {
DECLARE_COMPLETION_ONSTACK(wait);
unsigned long hang_check;
diff --git a/block/bsg.c b/block/bsg.c
index d7bae94b64d9..26e74a1ad9e2 100644
--- a/block/bsg.c
+++ b/block/bsg.c
@@ -181,7 +181,7 @@ static int bsg_sg_io(struct request_queue *q, fmode_t mode, 
void __user *uarg)
 
bio = rq->bio;
 
-   blk_execute_rq(q, NULL, rq, !(hdr.flags & BSG_FLAG_Q_AT_TAIL));
+   blk_execute_rq(NULL, rq, !(hdr.flags & BSG_FLAG_Q_AT_TAIL));
ret = rq->q->bsg_dev.ops->complete_rq(rq, );
blk_rq_unmap_user(bio);
 
diff --git a/block/scsi_ioctl.c b/block/scsi_ioctl.c
index c9f009cc0446..6599bac0a78c 100644
--- a/block/scsi_ioctl.c
+++ b/block/scsi_ioctl.c
@@ -357,7 +357,7 @@ static int sg_io(struct request_queue *q, struct gendisk 
*bd_disk,
 * (if he doesn't check that is his problem).
 * N.B. a non-zero SCSI status is _not_ necessarily an error.
 */
-   blk_execute_rq(q, bd_disk, rq, at_head);
+   blk_execute_rq(bd_disk, rq, at_head);
 
hdr->duration = jiffies_to_msecs(jiffies - start_time);
 
@@ -493,7 +493,7 @@ int sg_scsi_ioctl(struct request_queue *q, struct gendisk 
*disk, fmode_t mode,
goto error;
}
 
-   blk_execute_rq(q, disk, rq, 0);
+   blk_execute_rq(disk, rq, 0);
 
err = req->result & 0xff;   /* only 8 bit SCSI status */
if (err) {
@@ -532,7 +532,7 @@ static int __blk_send_generic(struct request_queue *q, 
struct gendisk *bd_disk,
scsi_req(rq)->cmd[0] = cmd;
scsi_req(rq)->cmd[4] = data;
scsi_req(rq)->cmd_len = 6;
-   blk_execute_rq(q, bd_disk, rq, 0);
+   blk_execute_rq(bd_disk, rq, 0);
err = scsi_req(rq)->result ? -EIO : 0;
blk_put_request(rq);
 
diff --git a/drivers/block/mtip32xx/mtip32xx.c 
b/drivers/block/mtip32xx/mtip32xx.c
index 53ac59d19ae5..3fd99836bb1c 100644
--- a/drivers/block/mtip32xx/mtip32xx.c
+++ b/drivers/block/mtip32xx/mtip32xx.c
@@ -1015,7 +1015,7 @@ static int mtip_exec_internal_command(struct mtip_port 
*port,
rq->timeout = timeout;
 
/* insert request and run queue */
-   blk_execute_rq(rq->q, NULL, rq, true);
+   blk_execute_rq(NULL, rq, true);
 
if (int_cmd->status) {
dev_err(>pdev->dev, "Internal command [%02X] failed %d\n",
diff --git a/drivers/block/paride/pd.c b/drivers/block/paride/pd.c
index a7af4f27b7c3..897acda20ac8 100644
--- a/drivers/block/paride/pd.c
+++ b/drivers/block/paride/pd.c
@@ -781,7 +781,7 @@ static int pd_special_command(struct pd_unit *disk,
req = blk_mq_rq_to_pdu(rq);
 
req->func = func;
-   blk_execute_rq(disk->gd->queue, disk->gd, rq, 0);
+   blk_execute_rq(disk->gd, rq, 0);
blk_put_request(rq);
return 0;
 }
diff --git a/drivers/block/pktcdvd.c b/drivers/block/pktcdvd.c
index b8bb8ec7538d..7ce4533a4831 100644
--- a/drivers/block/pktcdvd.c
+++ b/drivers/block/pktcdvd.c
@@

[PATCH 1/2] block: remove unnecessary argument from blk_execute_rq_nowait

2021-01-21 Thread Guoqing Jiang
The 'q' is not used since commit a1ce35fa4985 ("block: remove dead
elevator code"), also update the comment of the function.

Cc: target-de...@vger.kernel.org
Cc: linux-s...@vger.kernel.org
Cc: virtualization@lists.linux-foundation.org
Cc: linux-...@vger.kernel.org
Cc: linux-...@vger.kernel.org
Cc: linux-n...@lists.infradead.org
Cc: linux-...@vger.kernel.org
Signed-off-by: Guoqing Jiang 
---
 block/blk-exec.c   | 10 --
 drivers/block/sx8.c|  4 ++--
 drivers/nvme/host/core.c   |  4 ++--
 drivers/nvme/host/lightnvm.c   |  2 +-
 drivers/nvme/host/pci.c|  4 ++--
 drivers/nvme/target/passthru.c |  2 +-
 drivers/scsi/scsi_error.c  |  2 +-
 drivers/scsi/sg.c  |  3 +--
 drivers/scsi/st.c  |  2 +-
 drivers/target/target_core_pscsi.c |  3 +--
 include/linux/blkdev.h |  2 +-
 11 files changed, 17 insertions(+), 21 deletions(-)

diff --git a/block/blk-exec.c b/block/blk-exec.c
index 85324d53d072..2e37e85456fb 100644
--- a/block/blk-exec.c
+++ b/block/blk-exec.c
@@ -31,8 +31,7 @@ static void blk_end_sync_rq(struct request *rq, blk_status_t 
error)
 }
 
 /**
- * blk_execute_rq_nowait - insert a request into queue for execution
- * @q: queue to insert the request in
+ * blk_execute_rq_nowait - insert a request to I/O scheduler for execution
  * @bd_disk:   matching gendisk
  * @rq:request to insert
  * @at_head:insert request at head or tail of queue
@@ -45,9 +44,8 @@ static void blk_end_sync_rq(struct request *rq, blk_status_t 
error)
  * Note:
  *This function will invoke @done directly if the queue is dead.
  */
-void blk_execute_rq_nowait(struct request_queue *q, struct gendisk *bd_disk,
-  struct request *rq, int at_head,
-  rq_end_io_fn *done)
+void blk_execute_rq_nowait(struct gendisk *bd_disk, struct request *rq,
+  int at_head, rq_end_io_fn *done)
 {
WARN_ON(irqs_disabled());
WARN_ON(!blk_rq_is_passthrough(rq));
@@ -83,7 +81,7 @@ void blk_execute_rq(struct request_queue *q, struct gendisk 
*bd_disk,
unsigned long hang_check;
 
rq->end_io_data = 
-   blk_execute_rq_nowait(q, bd_disk, rq, at_head, blk_end_sync_rq);
+   blk_execute_rq_nowait(bd_disk, rq, at_head, blk_end_sync_rq);
 
/* Prevent hang_check timer from firing at us during very long I/O */
hang_check = sysctl_hung_task_timeout_secs;
diff --git a/drivers/block/sx8.c b/drivers/block/sx8.c
index 4478eb7efee0..2cdf2771f8e8 100644
--- a/drivers/block/sx8.c
+++ b/drivers/block/sx8.c
@@ -539,7 +539,7 @@ static int carm_array_info (struct carm_host *host, 
unsigned int array_idx)
spin_unlock_irq(>lock);
 
DPRINTK("blk_execute_rq_nowait, tag == %u\n", rq->tag);
-   blk_execute_rq_nowait(host->oob_q, NULL, rq, true, NULL);
+   blk_execute_rq_nowait(NULL, rq, true, NULL);
 
return 0;
 
@@ -578,7 +578,7 @@ static int carm_send_special (struct carm_host *host, 
carm_sspc_t func)
crq->msg_bucket = (u32) rc;
 
DPRINTK("blk_execute_rq_nowait, tag == %u\n", rq->tag);
-   blk_execute_rq_nowait(host->oob_q, NULL, rq, true, NULL);
+   blk_execute_rq_nowait(NULL, rq, true, NULL);
 
return 0;
 }
diff --git a/drivers/nvme/host/core.c b/drivers/nvme/host/core.c
index f320273fc672..63c469edb1bc 100644
--- a/drivers/nvme/host/core.c
+++ b/drivers/nvme/host/core.c
@@ -925,7 +925,7 @@ static void nvme_execute_rq_polled(struct request_queue *q,
 
rq->cmd_flags |= REQ_HIPRI;
rq->end_io_data = 
-   blk_execute_rq_nowait(q, bd_disk, rq, at_head, nvme_end_sync_rq);
+   blk_execute_rq_nowait(bd_disk, rq, at_head, nvme_end_sync_rq);
 
while (!completion_done()) {
blk_poll(q, request_to_qc_t(rq->mq_hctx, rq), true);
@@ -1202,7 +1202,7 @@ static int nvme_keep_alive(struct nvme_ctrl *ctrl)
rq->timeout = ctrl->kato * HZ;
rq->end_io_data = ctrl;
 
-   blk_execute_rq_nowait(rq->q, NULL, rq, 0, nvme_keep_alive_end_io);
+   blk_execute_rq_nowait(NULL, rq, 0, nvme_keep_alive_end_io);
 
return 0;
 }
diff --git a/drivers/nvme/host/lightnvm.c b/drivers/nvme/host/lightnvm.c
index 470cef3abec3..439f2b52e985 100644
--- a/drivers/nvme/host/lightnvm.c
+++ b/drivers/nvme/host/lightnvm.c
@@ -695,7 +695,7 @@ static int nvme_nvm_submit_io(struct nvm_dev *dev, struct 
nvm_rq *rqd,
 
rq->end_io_data = rqd;
 
-   blk_execute_rq_nowait(q, NULL, rq, 0, nvme_nvm_end_io);
+   blk_execute_rq_nowait(NULL, rq, 0, nvme_nvm_end_io);
 
return 0;
 
diff --git a/drivers/nvme/host/pci.c b/drivers/nvme/host/pci.c
index 50d9a20568a2..6aa11067c8d0 100644
--- a/drivers/nvme/host/pci.c
+++ b/drivers/nvme/host/pci.c
@@ -1327,7 +1327,7 @@ static enum blk_eh_timer_return nvme_timeout(struct 
req

[PATCH 0/2] remove unused argument from blk_execute_rq_nowait and blk_execute_rq

2021-01-21 Thread Guoqing Jiang
Hi Jens,

This series remove unused 'q' from blk_execute_rq_nowait and blk_execute_rq.
Also update the comment for blk_execute_rq_nowait.

Thanks,
Guoqing

Guoqing Jiang (2):
  block: remove unnecessary argument from blk_execute_rq_nowait
  block: remove unnecessary argument from blk_execute_rq

 block/blk-exec.c   | 13 +
 block/bsg.c|  2 +-
 block/scsi_ioctl.c |  6 +++---
 drivers/block/mtip32xx/mtip32xx.c  |  2 +-
 drivers/block/paride/pd.c  |  2 +-
 drivers/block/pktcdvd.c|  2 +-
 drivers/block/sx8.c|  4 ++--
 drivers/block/virtio_blk.c |  2 +-
 drivers/cdrom/cdrom.c  |  2 +-
 drivers/ide/ide-atapi.c|  2 +-
 drivers/ide/ide-cd.c   |  2 +-
 drivers/ide/ide-cd_ioctl.c |  2 +-
 drivers/ide/ide-devsets.c  |  2 +-
 drivers/ide/ide-disk.c |  2 +-
 drivers/ide/ide-ioctls.c   |  4 ++--
 drivers/ide/ide-park.c |  2 +-
 drivers/ide/ide-pm.c   |  4 ++--
 drivers/ide/ide-tape.c |  2 +-
 drivers/ide/ide-taskfile.c |  2 +-
 drivers/mmc/core/block.c   | 10 +-
 drivers/nvme/host/core.c   |  8 
 drivers/nvme/host/lightnvm.c   |  4 ++--
 drivers/nvme/host/pci.c|  4 ++--
 drivers/nvme/target/passthru.c |  2 +-
 drivers/scsi/scsi_error.c  |  2 +-
 drivers/scsi/scsi_lib.c|  2 +-
 drivers/scsi/sg.c  |  3 +--
 drivers/scsi/st.c  |  2 +-
 drivers/target/target_core_pscsi.c |  3 +--
 fs/nfsd/blocklayout.c  |  2 +-
 include/linux/blkdev.h |  5 ++---
 31 files changed, 50 insertions(+), 56 deletions(-)

-- 
2.17.1

___
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization