block: use blk_rq_init() to initialize the request
Any path needs to call it to initialize the request. This is a preparation for large command support, which needs to initialize the request in a proper way (that is, just doing a memset() will not work). Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> Cc: Jens Axboe <jens.axboe@oracle.com> Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
This commit is contained in:
parent
2a4aa30c5f
commit
4f54eec831
@ -537,6 +537,7 @@ static int nbd_ioctl(struct inode *inode, struct file *file,
|
||||
switch (cmd) {
|
||||
case NBD_DISCONNECT:
|
||||
printk(KERN_INFO "%s: NBD_DISCONNECT\n", lo->disk->disk_name);
|
||||
blk_rq_init(NULL, &sreq);
|
||||
sreq.cmd_type = REQ_TYPE_SPECIAL;
|
||||
nbd_cmd(&sreq) = NBD_CMD_DISC;
|
||||
/*
|
||||
|
@ -716,10 +716,8 @@ static int pd_special_command(struct pd_unit *disk,
|
||||
struct request rq;
|
||||
int err = 0;
|
||||
|
||||
memset(&rq, 0, sizeof(rq));
|
||||
rq.errors = 0;
|
||||
blk_rq_init(NULL, &rq);
|
||||
rq.rq_disk = disk->gd;
|
||||
rq.ref_count = 1;
|
||||
rq.end_io_data = &wait;
|
||||
rq.end_io = blk_end_sync_rq;
|
||||
blk_insert_request(disk->gd->queue, &rq, 0, func);
|
||||
|
@ -1771,6 +1771,7 @@ scsi_reset_provider(struct scsi_device *dev, int flag)
|
||||
unsigned long flags;
|
||||
int rtn;
|
||||
|
||||
blk_rq_init(NULL, &req);
|
||||
scmd->request = &req;
|
||||
memset(&scmd->eh_timeout, 0, sizeof(scmd->eh_timeout));
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user