|
@@ -237,6 +237,7 @@ struct nvme_ctrl_ops {
|
|
void (*submit_async_event)(struct nvme_ctrl *ctrl, int aer_idx);
|
|
void (*submit_async_event)(struct nvme_ctrl *ctrl, int aer_idx);
|
|
int (*delete_ctrl)(struct nvme_ctrl *ctrl);
|
|
int (*delete_ctrl)(struct nvme_ctrl *ctrl);
|
|
int (*get_address)(struct nvme_ctrl *ctrl, char *buf, int size);
|
|
int (*get_address)(struct nvme_ctrl *ctrl, char *buf, int size);
|
|
|
|
+ int (*reinit_request)(void *data, struct request *rq);
|
|
};
|
|
};
|
|
|
|
|
|
static inline bool nvme_ctrl_ready(struct nvme_ctrl *ctrl)
|
|
static inline bool nvme_ctrl_ready(struct nvme_ctrl *ctrl)
|
|
@@ -311,6 +312,7 @@ void nvme_unfreeze(struct nvme_ctrl *ctrl);
|
|
void nvme_wait_freeze(struct nvme_ctrl *ctrl);
|
|
void nvme_wait_freeze(struct nvme_ctrl *ctrl);
|
|
void nvme_wait_freeze_timeout(struct nvme_ctrl *ctrl, long timeout);
|
|
void nvme_wait_freeze_timeout(struct nvme_ctrl *ctrl, long timeout);
|
|
void nvme_start_freeze(struct nvme_ctrl *ctrl);
|
|
void nvme_start_freeze(struct nvme_ctrl *ctrl);
|
|
|
|
+int nvme_reinit_tagset(struct nvme_ctrl *ctrl, struct blk_mq_tag_set *set);
|
|
|
|
|
|
#define NVME_QID_ANY -1
|
|
#define NVME_QID_ANY -1
|
|
struct request *nvme_alloc_request(struct request_queue *q,
|
|
struct request *nvme_alloc_request(struct request_queue *q,
|