| Summary: | [RFE] Implement mda update respecting physical sector size | ||
|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Zdenek Kabelac <zkabelac> |
| Component: | lvm2 | Assignee: | LVM and device-mapper development team <lvm-team> |
| Status: | CLOSED WONTFIX | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
| Severity: | unspecified | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | rawhide | CC: | agk, anprice, bmarzins, bmr, dwysocha, heinzm, jbrassow, jonathan, lvm-team, msnitzer, prajnoha, teigland, zkabelac |
| Target Milestone: | --- | Keywords: | FutureFeature |
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | Enhancement | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2019-10-28 16:21:30 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
|
Description
Zdenek Kabelac
2016-04-21 13:19:40 UTC
Background notes: This is a well-known flaw in the original design where an offset was hard-coded instead of being stored in the header. The result is that some writes that we expect to be atomic involve rewriting data that should not have been part of the same write operation. The hard-coded offset is relied upon whenever the metadata wraps around the buffer. The argument presented here is that if the metadata area is sufficiently large, we can make sure that the metadata we write is contiguous and then we can use a larger hard-coded offset while not preventing unmodified versions of the LVM code from still always being able to read the metadata correctly. At the same time we will probably want to add some additional annotations to avoid increasing the complexity of forensic analysis of metadata areas as metadata versions will no longer be stored sequentially and both old and new tools could be mixed. We should be able to close this, the io now goes through bcache (io-manager) which has io blocks aligned with 4K and sized according to the logical block size. Metadata that is not aligned or sized properly ends up being written via one or more bcache blocks which are. |