Bug 155428
Summary: | kernel dm-multipath: Improve error logging | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Lars Marowsky-Bree <lmb> | ||||||
Component: | device-mapper-multipath | Assignee: | Lars Marowsky-Bree <lmb> | ||||||
Status: | CLOSED CURRENTRELEASE | QA Contact: | |||||||
Severity: | medium | Docs Contact: | |||||||
Priority: | medium | ||||||||
Version: | rawhide | CC: | agk, bmarzins, christophe.varoqui, dmo, dwysocha, tranlan | ||||||
Target Milestone: | --- | Keywords: | FutureFeature | ||||||
Target Release: | --- | ||||||||
Hardware: | All | ||||||||
OS: | Linux | ||||||||
Whiteboard: | |||||||||
Fixed In Version: | Doc Type: | Enhancement | |||||||
Doc Text: | Story Points: | --- | |||||||
Clone Of: | Environment: | ||||||||
Last Closed: | 2021-07-30 18:34:17 UTC | Type: | --- | ||||||
Regression: | --- | Mount Type: | --- | ||||||
Documentation: | --- | CRM: | |||||||
Verified Versions: | Category: | --- | |||||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||||
Cloudforms Team: | --- | Target Upstream Version: | |||||||
Embargoed: | |||||||||
Bug Depends On: | |||||||||
Bug Blocks: | 171044, 171408 | ||||||||
Attachments: |
|
Description
Lars Marowsky-Bree
2005-04-20 09:09:18 UTC
Created attachment 113397 [details]
Suggested patch to improve the logging situation
Created attachment 113462 [details]
Updated patch
Do not try to print pgpath->path.dev->name when pgpath == NULL. Smart idea, eh?
;)
I'll add this to 2.6.12-rc2-udm1 for now, but we need to tidy it more before sending it upstream. e.g. DMWARN("dm-emc: emc_endio: pg_init error %d", error); DMWARN("dm-emc: emc_endio: Found valid sense data %06x", sense); DMWARN("dm-emc: emc_endio: Array Based Copy in progress"); could fit into a single line: maybe "dm-emc: emc_endio: pg_init error %d (sense %06x): Array-based copy in progress" Good point. Yes, this needs more cleaning up and in particular also: a) Rate-limitting; right now it'll trigger once for every bio, even though they are part of the same SCSI request; if they could be joined well, that could be quite substantial amounts of logging and quite flood the console. It'd be interesting if we could figure out a way to only print it _once_ for every request (ie, once for every real error). (w/o keeping a complete history, we could try and only print it if this bio belonged to a different request than the last bio we handled; that'll still cause some excessive logging, but only if end_io is interleaved, which will be much better already.) Question is how to do figure out which request a bio belongs to. Another alternative might be to only print if it's a new error on the same path or if the last error on that path has been reported NNN jiffies back. Comments solicited, maybe we want to discuss on the list too. b) Identify more "interesting" places where to log from a support perspective: What information will we need to track down problems in the field? |