block-5.8-2020-07-05
-----BEGIN PGP SIGNATURE----- iQJEBAABCAAuFiEEwPw5LcreJtl1+l5K99NY+ylx4KYFAl8BDy4QHGF4Ym9lQGtl cm5lbC5kawAKCRD301j7KXHgpqyUD/0XI7Jo1W63aEwgW9wD1Xiyadc7eKzEFc/x upfqYBGiRUQehTKdmNBfr1ocrWF9OGj1g4NtPlU81Zjp1Y6c6pBuzeFF6NrfwEVi GrOO4nm04t4BOIk9AnsIjqknnk2XenbjFZmBNo0TKz3W3ftOPXSNDtJDgjxJ+rGd y5WOMfFCrE5rvo+JWiG3vxZIfTx8cxtraNw2PWcmxqjwOL+jNiN7E5rW/O4t0+DS 1ajqv5KseTEVtDNKG/Vn04cXxMVG8upG+Jv3xvxu4AlqJk84/va1LxkfvUuPuxJe c7dbGfR5db/KVdTsHU/WVo6URJ5nioftkMIHgIhOIIJR5D/B7WGFPu5AZtwRze6s C7BNIF49rBfbxyfLsVdIaAiw8GLQmsJWLs13OEVNRNGDxPO65as74J0E3UO9vOPa MCKffqkeSVHGK5LaXnhzn0lTEn35StUjWXRuyKAFxTWtSNDptopaoGZCrFO1IFXz EQfFlwU/fUNyfujAkMq7kNCxeQ0Kh7co6v41zphn8gBanpKgk5AqhnBJOSbI7OAS TDVMaQTzi3M+kMJV0Fu0rYQ5E3eiY3VAwif3L+6QiccwwgEygwIkdSLo2g63Q7CX Ogw8J2LIhuwbB/fCHhs7WfgfMRmgQcsaGWFLjI27UYd0FQks+rbDS8DItDuWgiBQ 74skOmzL5w== =dhze -----END PGP SIGNATURE----- Merge tag 'block-5.8-2020-07-05' of git://git.kernel.dk/linux-block Pull block fixes from Jens Axboe: - NVMe fixes from Christoph: - Fix crash in multi-path disk add (Christoph) - Fix ignore of identify error (Sagi) - Fix a compiler complaint that a function should be static (Wei) * tag 'block-5.8-2020-07-05' of git://git.kernel.dk/linux-block: block: make function __bio_integrity_free() static nvme: fix a crash in nvme_mpath_add_disk nvme: fix identify error status silent ignore
This commit is contained in:
commit
29206c6314
@ -24,7 +24,8 @@ void blk_flush_integrity(void)
|
|||||||
flush_workqueue(kintegrityd_wq);
|
flush_workqueue(kintegrityd_wq);
|
||||||
}
|
}
|
||||||
|
|
||||||
void __bio_integrity_free(struct bio_set *bs, struct bio_integrity_payload *bip)
|
static void __bio_integrity_free(struct bio_set *bs,
|
||||||
|
struct bio_integrity_payload *bip)
|
||||||
{
|
{
|
||||||
if (bs && mempool_initialized(&bs->bio_integrity_pool)) {
|
if (bs && mempool_initialized(&bs->bio_integrity_pool)) {
|
||||||
if (bip->bip_vec)
|
if (bip->bip_vec)
|
||||||
|
@ -1116,10 +1116,16 @@ static int nvme_identify_ns_descs(struct nvme_ctrl *ctrl, unsigned nsid,
|
|||||||
dev_warn(ctrl->device,
|
dev_warn(ctrl->device,
|
||||||
"Identify Descriptors failed (%d)\n", status);
|
"Identify Descriptors failed (%d)\n", status);
|
||||||
/*
|
/*
|
||||||
* Don't treat an error as fatal, as we potentially already
|
* Don't treat non-retryable errors as fatal, as we potentially
|
||||||
* have a NGUID or EUI-64.
|
* already have a NGUID or EUI-64. If we failed with DNR set,
|
||||||
|
* we want to silently ignore the error as we can still
|
||||||
|
* identify the device, but if the status has DNR set, we want
|
||||||
|
* to propagate the error back specifically for the disk
|
||||||
|
* revalidation flow to make sure we don't abandon the
|
||||||
|
* device just because of a temporal retry-able error (such
|
||||||
|
* as path of transport errors).
|
||||||
*/
|
*/
|
||||||
if (status > 0 && !(status & NVME_SC_DNR))
|
if (status > 0 && (status & NVME_SC_DNR))
|
||||||
status = 0;
|
status = 0;
|
||||||
goto free_data;
|
goto free_data;
|
||||||
}
|
}
|
||||||
|
@ -672,10 +672,11 @@ void nvme_mpath_add_disk(struct nvme_ns *ns, struct nvme_id_ns *id)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (bdi_cap_stable_pages_required(ns->queue->backing_dev_info)) {
|
if (bdi_cap_stable_pages_required(ns->queue->backing_dev_info)) {
|
||||||
struct backing_dev_info *info =
|
struct gendisk *disk = ns->head->disk;
|
||||||
ns->head->disk->queue->backing_dev_info;
|
|
||||||
|
|
||||||
info->capabilities |= BDI_CAP_STABLE_WRITES;
|
if (disk)
|
||||||
|
disk->queue->backing_dev_info->capabilities |=
|
||||||
|
BDI_CAP_STABLE_WRITES;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user