Bug 484319
| Summary: | Random crashing in dm snapshots because of a race condition | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Product: | Red Hat Enterprise Linux 4 | Reporter: | Mikuláš Patočka <mpatocka> | ||||||||
| Component: | kernel | Assignee: | Mikuláš Patočka <mpatocka> | ||||||||
| Status: | CLOSED ERRATA | QA Contact: | Martin Jenner <mjenner> | ||||||||
| Severity: | high | Docs Contact: | |||||||||
| Priority: | high | ||||||||||
| Version: | 4.8 | CC: | agk, christophe.varoqui, coughlan, dwysocha, edamato, egoggin, heinzm, jbrassow, jtluka, junichi.nomura, kueda, lmb, mbroz, prockai, syeghiay, tranlan | ||||||||
| Target Milestone: | beta | ||||||||||
| Target Release: | 4.8 | ||||||||||
| Hardware: | All | ||||||||||
| OS: | Linux | ||||||||||
| Whiteboard: | |||||||||||
| Fixed In Version: | Doc Type: | Bug Fix | |||||||||
| Doc Text: | Story Points: | --- | |||||||||
| Clone Of: | |||||||||||
| : | 496100 (view as bug list) | Environment: | |||||||||
| Last Closed: | 2009-05-18 19:21:37 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: | 496100 | ||||||||||
| Attachments: |
|
||||||||||
|
Description
Mikuláš Patočka
2009-02-06 01:14:09 UTC
... In that "msg00084.html" reference I copied a wrong link. It should be https://www.redhat.com/archives/dm-devel/2008-October/msg00085.html This request was evaluated by Red Hat Product Management for inclusion in a Red Hat Enterprise Linux maintenance release. Product Management has requested further review of this request by Red Hat Engineering, for potential inclusion in a Red Hat Enterprise Linux Update release for currently deployed products. This request is not yet committed for inclusion in an Update release. Status update on this bug: The user still claims that there are some crashes, so there may be more bugs. I'm sending debug patches to him to try to pinpoint it. During source code review I already found a second race condition (which wouldn't cause crash, but could corrupt data). And there may be possibly even third bug (unknown yet). I'll send complete patches when the analysis will be finished. If you need the patches fast because of some deadline, contact me. There were two bugs found so far (but the user's problem is still under analysis) --- I am here posting both patches. The explanation is in the patches. Created attachment 332598 [details]
A backport of first bugfix to RHEL 4
This fixes the first problem for RHEL 4. kcopyd may call the callback directly
(not from its thread) and this may result in racing with another callback called
from the thread.
Created attachment 332599 [details]
Fix for the second bug
Fix for the second problem: when allocating a new exception structure,
dm-snapshot driver drops the lock. When it regains the lock, it checks if the
structure was meanwhile allocated by another thread and placed into pending
hash. But it doesn't check if the structure was allocated by another thread
and already finished. This may lead to a situation where multiple exception
records exists for the same chunk.
Committed in 82.EL . RPMS are available at http://people.redhat.com/vgoyal/rhel4/ An advisory has been issued which should help the problem described in this bug report. This report is therefore being closed with a resolution of ERRATA. For more information on therefore solution and/or where to find the updated files, please follow the link below. You may reopen this bug report if the solution does not work for you. http://rhn.redhat.com/errata/RHSA-2009-1024.html |