[PATCH] scsi: sd: Mark disk dead on host removal to avoid I/O hang
胡连勤 <[email protected]> Fri, 31 Jul 2026 03:45:02 +0000
| Newsgroups | org.kernel.vger.linux-scsi,org.kernel.vger.linux-block,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <TYUPR06MB62172E412054140753D5E782D2C82@TYUPR06MB6217.apcprd06.prod.outlook.com> |
V2hlbiBhIFVTQiBtYXNzIHN0b3JhZ2UgZGV2aWNlIHdpdGggYSBtb3VudGVkIGZpbGVzeXN0ZW0g KGUuZy4gZXhGQVQpDQplbnRlcnMgcnVudGltZSBzdXNwZW5kIChhdXRvc3VzcGVuZCksIHBoeXNp Y2FsIHJlbW92YWwgdHJpZ2dlcnMNCnNjc2lfcmVtb3ZlX2hvc3QoKSB3aGljaCBpbnZva2VzIHNk X3JlbW92ZSgpIC0+IGRlbF9nZW5kaXNrKCkgLT4NCmJsa19yZXBvcnRfZGlza19kZWFkKCkuICBU aGlzIHRyaWdnZXJzIHN5bmNfZmlsZXN5c3RlbSgpIHRvIHdyaXRlDQpiYWNrIGRpcnR5IGRhdGEs IHN1Ym1pdHMgYmlvIGFuZCBibG9ja3MgaW4gX19iaW9fcXVldWVfZW50ZXIoKQ0Kd2FpdGluZyBm b3IgSS9PIGNvbXBsZXRpb24gdGhhdCBjYW4gbmV2ZXIgaGFwcGVuIHNpbmNlIHRoZSBkZXZpY2UN CmlzIGFscmVhZHkgZ29uZSwgbGVhZGluZyB0byBhIGh1bmcgdGFzay4NCg0KZGVsX2dlbmRpc2so KSB1bmNvbmRpdGlvbmFsbHkgY2FsbHMgYmxrX3JlcG9ydF9kaXNrX2RlYWQoZGlzaywgZmFsc2Up DQp3aGVuIEdEX0RFQUQgaXMgbm90IHlldCBzZXQsIHdoaWNoIGFsd2F5cyBhdHRlbXB0cyB0byBz eW5jIHRoZQ0KZmlsZXN5c3RlbS4gIEZvciBzdXJwcmlzZSByZW1vdmFsIHdoZXJlIHRoZSBkZXZp Y2UgY2Fubm90IGhhbmRsZSBJL08sDQp0aGlzIHN5bmMgaXMgZnV0aWxlIGFuZCBoYW5ncyBmb3Jl dmVyLiAgQWRkaXRpb25hbGx5LCBTQ1NJIGRpc2tzDQpjcmVhdGVkIHZpYSBibGtfbXFfYWxsb2Nf ZGlza19mb3JfcXVldWUoKSBkbyBub3QgaGF2ZSBHRF9PV05TX1FVRVVFDQpzZXQsIHNvIF9fYmxr X21hcmtfZGlza19kZWFkKCkgKGNhbGxlZCBieSBkZWxfZ2VuZGlzaygpKSBuZXZlciBzZXRzDQpR VUVVRV9GTEFHX0RZSU5HLCBhbmQgYmxrX3F1ZXVlX2VudGVyKCkgcmVtYWlucyBibG9ja2VkIHdh aXRpbmcgZm9yDQpJL08gdGhhdCB3aWxsIG5ldmVyIGNvbXBsZXRlLg0KDQpTZXQgUVVFVUVfRkxB R19EWUlORyB1bmNvbmRpdGlvbmFsbHkgaW4gYmxrX21hcmtfZGlza19kZWFkKCksIHNvDQp0aGF0 IGFueSBpbi1mbGlnaHQgSS9PIGZyb20gb3RoZXIgdGhyZWFkcyBnZXRzIC1FTk9ERVYgaW1tZWRp YXRlbHkNCmZyb20gYmxrX3F1ZXVlX2VudGVyKCkgcmVnYXJkbGVzcyBvZiBHRF9PV05TX1FVRVVF IG93bmVyc2hpcC4NCg0KQWRkIHNjc2lfaG9zdF9pbl9jYW5jZWwoKSBoZWxwZXIgYW5kIGNhbGwg YmxrX21hcmtfZGlza19kZWFkKCkgaW4NCnNkX3JlbW92ZSgpIHdoZW4gdGhlIFNDU0kgaG9zdCBp cyBpbiBTSE9TVF9DQU5DRUwgb3INClNIT1NUX0NBTkNFTF9SRUNPVkVSWSBzdGF0ZSAoc2V0IGJ5 IHNjc2lfcmVtb3ZlX2hvc3QoKSBiZWZvcmUNCnJlbW92aW5nIGRldmljZXMpLCBzbyB0aGF0IGRl bF9nZW5kaXNrKCkgc2VlcyBHRF9ERUFEIGFscmVhZHkgc2V0DQphbmQgc2tpcHMgdGhlIHN5bmMu ICBGb3Igb3JkZXJseSByZW1vdmFsIChlLmcuIGVjaG8gMSA+DQovc3lzLy4uLi9kZWxldGUpLCB0 aGUgaG9zdCByZW1haW5zIFNIT1NUX1JVTk5JTkcgYW5kIHN5bmMgcHJvY2VlZHMNCm5vcm1hbGx5 LiAgVGhpcyBtYXRjaGVzIHRoZSBOVk1lIGJlaGF2aW9yIHdoZXJlDQpudm1lX21hcmtfbmFtZXNw YWNlc19kZWFkKCkgaXMgY2FsbGVkIG9ubHkgb24gc3VycHJpc2UgcmVtb3ZhbA0KKE5WTUVfQ1RS TF9ERUFEKS4NCg0KQ2FsbCB0cmFjZSBvbiBVU0Igc3RvcmFnZSBzdXJwcmlzZSByZW1vdmFsOg0K SU5GTzogdGFzayAia3dvcmtlci8xOjAiOjMxIGJsb2NrZWQgZm9yIG1vcmUgdGhhbiAxNDcgc2Vj b25kcy4NCkNhbGwgdHJhY2U6DQogX19zd2l0Y2hfdG8rMHgxOTgvMHgzODANCiBfX3NjaGVkdWxl KzB4NTQ4LzB4ZmJjDQogc2NoZWR1bGUrMHg0Yy8weDExOA0KIF9fYmlvX3F1ZXVlX2VudGVyKzB4 YjgvMHgxNzQNCiBibGtfbXFfc3VibWl0X2JpbysweDY0MC8weDdlNA0KIF9fc3VibWl0X2Jpbysw eDFhNC8weDMxNA0KIF9fc3VibWl0X2Jpb19ub2FjY3RfbXErMHgzOC8weDhjDQogc3VibWl0X2Jp b19ub2FjY3QrMHg2NzgvMHg3NTANCiBzdWJtaXRfYmlvKzB4YTgvMHgxYzgNCiBzdWJtaXRfYmhf d2JjKzB4MTQ4LzB4MWI0DQogX19zeW5jX2RpcnR5X2J1ZmZlcisweDEyMC8weDFmOA0KIGV4ZmF0 X3N5bmNfZnMrMHhhNC8weGUwDQogc3luY19maWxlc3lzdGVtKzB4YTgvMHhkYw0KIGZzX2JkZXZf bWFya19kZWFkKzB4MzAvMHg4OA0KIGJkZXZfbWFya19kZWFkKzB4NTQvMHhjNA0KIGJsa19yZXBv cnRfZGlza19kZWFkKzB4OGMvMHhkNA0KIGRlbF9nZW5kaXNrKzB4YTAvMHgyZjgNCiBzZF9yZW1v dmUrMHgzMC8weDYwDQogZGV2aWNlX3JlbGVhc2VfZHJpdmVyX2ludGVybmFsKzB4MWM0LzB4MmJj DQogZGV2aWNlX3JlbGVhc2VfZHJpdmVyKzB4MTgvMHgyOA0KIGJ1c19yZW1vdmVfZGV2aWNlKzB4 MTU4LzB4MTcwDQogZGV2aWNlX2RlbCsweDFjOC8weDMyMA0KIF9fc2NzaV9yZW1vdmVfZGV2aWNl KzB4OWMvMHgxODQNCiBzY3NpX2ZvcmdldF9ob3N0KzB4NTAvMHg3MA0KIHNjc2lfcmVtb3ZlX2hv c3QrMHg4OC8weDE4Yw0KIHVzYl9zdG9yX2Rpc2Nvbm5lY3QrMHg2OC8weGY0DQogdXNiX3VuYmlu ZF9pbnRlcmZhY2UrMHgxM2MvMHgzNDANCiBkZXZpY2VfcmVsZWFzZV9kcml2ZXJfaW50ZXJuYWwr MHgxYzQvMHgyYmMNCiBkZXZpY2VfcmVsZWFzZV9kcml2ZXIrMHgxOC8weDI4DQogYnVzX3JlbW92 ZV9kZXZpY2UrMHgxNTgvMHgxNzANCiBkZXZpY2VfZGVsKzB4MWM4LzB4MzIwDQogdXNiX2Rpc2Fi bGVfZGV2aWNlKzB4ODQvMHgxOTANCiB1c2JfZGlzY29ubmVjdCsweGU4LzB4MzM4DQogaHViX2V2 ZW50KzB4YmQ4LzB4MTlhYw0KIHByb2Nlc3Nfc2NoZWR1bGVkX3dvcmtzKzB4MjAwLzB4OWQ4DQog d29ya2VyX3RocmVhZCsweDE1NC8weDNiMA0KDQpGaXhlczogNmY4MTkxZmRmNDFkICgiYmxvY2s6 IHNpbXBsaWZ5IGRpc2sgc2h1dGRvd24iKQ0KQ2M6IHN0YWJsZUB2Z2VyLmtlcm5lbC5vcmcNClNp Z25lZC1vZmYtYnk6IExpYW5xaW4gSHUgPGh1bGlhbnFpbkB2aXZvLmNvbT4NCi0tLQ0KIGJsb2Nr L2dlbmhkLmMgICAgICAgICAgICB8ICAxICsNCiBkcml2ZXJzL3Njc2kvc2QuYyAgICAgICAgfCAx MCArKysrKysrKysrDQogaW5jbHVkZS9zY3NpL3Njc2lfaG9zdC5oIHwgIDYgKysrKysrDQogMyBm aWxlcyBjaGFuZ2VkLCAxNyBpbnNlcnRpb25zKCspDQoNCmRpZmYgLS1naXQgYS9ibG9jay9nZW5o ZC5jIGIvYmxvY2svZ2VuaGQuYw0KaW5kZXggZGYyYzNjNjliNDY3Li43YjA4OWUyZDUyYzQgMTAw NjQ0DQotLS0gYS9ibG9jay9nZW5oZC5jDQorKysgYi9ibG9jay9nZW5oZC5jDQpAQCAtNjgxLDYg KzY4MSw3IEBAIHN0YXRpYyBib29sIF9fYmxrX21hcmtfZGlza19kZWFkKHN0cnVjdCBnZW5kaXNr ICpkaXNrKQ0KICAqLw0KIHZvaWQgYmxrX21hcmtfZGlza19kZWFkKHN0cnVjdCBnZW5kaXNrICpk aXNrKQ0KIHsNCisJYmxrX3F1ZXVlX2ZsYWdfc2V0KFFVRVVFX0ZMQUdfRFlJTkcsIGRpc2stPnF1 ZXVlKTsNCiAJX19ibGtfbWFya19kaXNrX2RlYWQoZGlzayk7DQogCWJsa19yZXBvcnRfZGlza19k ZWFkKGRpc2ssIHRydWUpOw0KIH0NCmRpZmYgLS1naXQgYS9kcml2ZXJzL3Njc2kvc2QuYyBiL2Ry aXZlcnMvc2NzaS9zZC5jDQppbmRleCA1OTllNzVmMzMzMzQuLmZiNTA4NjQ2NWEyMyAxMDA2NDQN Ci0tLSBhL2RyaXZlcnMvc2NzaS9zZC5jDQorKysgYi9kcml2ZXJzL3Njc2kvc2QuYw0KQEAgLTQy NTcsNiArNDI1NywxNiBAQCBzdGF0aWMgdm9pZCBzZF9yZW1vdmUoc3RydWN0IHNjc2lfZGV2aWNl ICpzZHApDQogDQogCXNjc2lfYXV0b3BtX2dldF9kZXZpY2Uoc2RrcC0+ZGV2aWNlKTsNCiANCisJ LyoNCisJICogSWYgdGhlIGhvc3QgaXMgYmVpbmcgdG9ybiBkb3duIChlLmcuIFVTQiBzdXJwcmlz ZSByZW1vdmFsKSwNCisJICogdGhlIGRldmljZSBjYW5ub3QgaGFuZGxlIEkvTyBhbnltb3JlLg0K KwkgKiBNYXJrIHRoZSBkaXNrIGRlYWQgYmVmb3JlIGRlbF9nZW5kaXNrKCkgc28gdGhhdCBuZXcg SS9PIGlzDQorCSAqIHJlamVjdGVkIGltbWVkaWF0ZWx5IGFuZCBzeW5jX2ZpbGVzeXN0ZW0oKSBp biBkZWxfZ2VuZGlzaygpDQorCSAqIGlzIHNraXBwZWQsIGF2b2lkaW5nIGEgaGFuZyB3YWl0aW5n IGZvciBJL08gdGhhdCBjYW4gbmV2ZXINCisJICogY29tcGxldGUuDQorCSAqLw0KKwlpZiAoc2Nz aV9ob3N0X2luX2NhbmNlbChzZGtwLT5kZXZpY2UtPmhvc3QpKQ0KKwkJYmxrX21hcmtfZGlza19k ZWFkKHNka3AtPmRpc2spOw0KIAlkZXZpY2VfZGVsKCZzZGtwLT5kaXNrX2Rldik7DQogCWRlbF9n ZW5kaXNrKHNka3AtPmRpc2spOw0KIAlpZiAoIXNka3AtPnN1c3BlbmRlZCkNCmRpZmYgLS1naXQg YS9pbmNsdWRlL3Njc2kvc2NzaV9ob3N0LmggYi9pbmNsdWRlL3Njc2kvc2NzaV9ob3N0LmgNCmlu ZGV4IGY2YjI4NmZhNTlmMi4uMDM1MjNhZDMyODRkIDEwMDY0NA0KLS0tIGEvaW5jbHVkZS9zY3Np L3Njc2lfaG9zdC5oDQorKysgYi9pbmNsdWRlL3Njc2kvc2NzaV9ob3N0LmgNCkBAIC03OTYsNiAr Nzk2LDEyIEBAIHN0YXRpYyBpbmxpbmUgaW50IHNjc2lfaG9zdF9pbl9yZWNvdmVyeShzdHJ1Y3Qg U2NzaV9Ib3N0ICpzaG9zdCkNCiAJCXNob3N0LT50bWZfaW5fcHJvZ3Jlc3M7DQogfQ0KIA0KK3N0 YXRpYyBpbmxpbmUgYm9vbCBzY3NpX2hvc3RfaW5fY2FuY2VsKHN0cnVjdCBTY3NpX0hvc3QgKnNo b3N0KQ0KK3sNCisJcmV0dXJuIHNob3N0LT5zaG9zdF9zdGF0ZSA9PSBTSE9TVF9DQU5DRUwgfHwN CisJCXNob3N0LT5zaG9zdF9zdGF0ZSA9PSBTSE9TVF9DQU5DRUxfUkVDT1ZFUlk7DQorfQ0KKw0K IGV4dGVybiBpbnQgc2NzaV9xdWV1ZV93b3JrKHN0cnVjdCBTY3NpX0hvc3QgKiwgc3RydWN0IHdv cmtfc3RydWN0ICopOw0KIGV4dGVybiB2b2lkIHNjc2lfZmx1c2hfd29yayhzdHJ1Y3QgU2NzaV9I b3N0ICopOw0KIA0KLS0gDQoyLjM5LjANCg0K