Bug 817771
Summary: | [RFE] Investigate options for restructuring internal VG metadata handling to improve scalability | ||
---|---|---|---|
Product: | [Community] LVM and device-mapper | Reporter: | Alasdair Kergon <agk> |
Component: | lvm2 | Assignee: | LVM and device-mapper development team <lvm-team> |
lvm2 sub component: | Metadata | QA Contact: | cluster-qe <cluster-qe> |
Status: | CLOSED DEFERRED | Docs Contact: | |
Severity: | medium | ||
Priority: | unspecified | CC: | agk, dwysocha, heinzm, jbrassow, msnitzer, nkinder, pasik, prajnoha, thornber, zkabelac |
Version: | 0-beta1 | Keywords: | FutureFeature |
Target Milestone: | --- | Flags: | rule-engine:
lvm-technical-solution?
rule-engine: lvm-test-coverage? |
Target Release: | --- | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Enhancement | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2020-03-10 21:54:31 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: | |
Embargoed: |
Description
Alasdair Kergon
2012-05-01 08:25:39 UTC
Since RHEL 6.3 External Beta has begun, and this bug remains unresolved, it has been rejected as it is not proposed as exception or blocker. Red Hat invites you to ask your support representative to propose this request, if appropriate and relevant, in the next release of Red Hat Enterprise Linux. More or less, see bug 817770 -- my proposal would be to make the data structures much more opaque, with query and modify interfaces. Implementation of the "transaction" interface would be a responsibility of individual "formats" (where lvm1 and lvm2 formats can share substantial amount of code). However, removal of lvmcache is more or less an unavoidable first step -- the format code calls into lvmcache create dependency loops and non-local side-effects, which make it very hard to expose a semantically coherent format API. As a side matter, I would seriously entertain the option of implementing (portions) of the internal LVM library in C++ instead of vanilla C. The above-mentioned query/modify interface abstraction would be much simpler and more transparent in C++. Additionally, a lot of LVM code could hugely benefit from automatic resource management (RAII), eliminating entire classes of bugs that exist nowadays. Any externally visible APIs can still be in C without substantial extra effort. Finally, a switch from C to C++ is relatively painless and can be quite gradual. This request was not resolved in time for the current release. Red Hat invites you to ask your support representative to propose this request, if still desired, for consideration in the next release of Red Hat Enterprise Linux. This request was erroneously removed from consideration in Red Hat Enterprise Linux 6.4, which is currently under development. This request will be evaluated for inclusion in Red Hat Enterprise Linux 6.4. This request was evaluated by Red Hat Product Management for inclusion in the current release of Red Hat Enterprise Linux. Since we are unable to provide this feature at this time, it has been proposed for the next release of Red Hat Enterprise Linux. This is not a change suitable for RHEL6, moving to RHEl7 for consideration. |