[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