Features/liblvm
From FedoraProject
(→Current status) |
(→Current status) |
||
| (13 intermediate revisions by 2 users not shown) | |||
| Line 3: | Line 3: | ||
== Summary == | == Summary == | ||
| − | Add liblvm, a userspace library for application interface to LVM. Fedora project page is [[LVM/liblvm | here]]. | + | Add liblvm, a userspace library for application interface to LVM. Fedora project page is [[LVM/liblvm | here]]. This will be shipped inside sub packages (lvm2-devel and lvm2-libs) of lvm2 base package. |
== Owner == | == Owner == | ||
| Line 10: | Line 10: | ||
== Current status == | == Current status == | ||
* Targeted release: [[Releases/12| Fedora 12]] | * Targeted release: [[Releases/12| Fedora 12]] | ||
| − | * Last updated: | + | * Last updated: 2009-09-23 |
| − | * Percentage of completion: | + | * Percentage of completion: 100% |
| + | * 2009/09/17: latest upstream fixes pushed into rawhide by agk; API not frozen but ready for use by applications | ||
| + | * 2009/07/28: final fixes and review; lvm2-devel and lvm2-libs packages pushed into rawhide | ||
| + | * 2009/07/27: bulk of liblvm APIs integrated and working; unit tests passing; header file preliminary review | ||
| + | * 2009/07/16: lvmerrno patches integrated; device filtering, pv and lv patches in progress | ||
| + | * 2009/07/14: liblvm VG APIs to create/remove/extend a VG upstream; significant refactoring completed, including vg_read() patches | ||
* 2009/05/08: initial skeleton liblvm build complete; patches outstanding for object attributes and vg_read (pvs / vgs / lvs functionality) | * 2009/05/08: initial skeleton liblvm build complete; patches outstanding for object attributes and vg_read (pvs / vgs / lvs functionality) | ||
| Line 41: | Line 46: | ||
* device-mapper (upstream version in sync with upstream LVM) | * device-mapper (upstream version in sync with upstream LVM) | ||
| + | * lvm2 (base package) | ||
== Contingency Plan == | == Contingency Plan == | ||
| − | * Existing applications calling LVM can still call the lvm commandline and/or use the | + | * Existing applications calling LVM can still call the lvm commandline and/or use the liblvm2cmd, the commandline string based library. |
== Documentation == | == Documentation == | ||
| Line 53: | Line 59: | ||
---- | ---- | ||
| − | [[Category: | + | [[Category:FeatureAcceptedF12]] |
Latest revision as of 22:03, 23 September 2009
Contents |
[edit] liblvm
[edit] Summary
Add liblvm, a userspace library for application interface to LVM. Fedora project page is here. This will be shipped inside sub packages (lvm2-devel and lvm2-libs) of lvm2 base package.
[edit] Owner
- Name: Dave Wysochanski (Email: dwysocha@redhat.com, IRC: deepthot)
[edit] Current status
- Targeted release: Fedora 12
- Last updated: 2009-09-23
- Percentage of completion: 100%
- 2009/09/17: latest upstream fixes pushed into rawhide by agk; API not frozen but ready for use by applications
- 2009/07/28: final fixes and review; lvm2-devel and lvm2-libs packages pushed into rawhide
- 2009/07/27: bulk of liblvm APIs integrated and working; unit tests passing; header file preliminary review
- 2009/07/16: lvmerrno patches integrated; device filtering, pv and lv patches in progress
- 2009/07/14: liblvm VG APIs to create/remove/extend a VG upstream; significant refactoring completed, including vg_read() patches
- 2009/05/08: initial skeleton liblvm build complete; patches outstanding for object attributes and vg_read (pvs / vgs / lvs functionality)
[edit] Detailed Description
LVM is currently being used by other software projects. These projects interface with LVM by calling the LVM commandline either by invoking a shell or calling the string-based liblvmcmd. liblvm proposes to create a real API for use by application programs. libLVM features will be driven by the needs of the known primary consumers of the API which are anaconda, system-config-storage, libvirt, and others. One of the main drivers of libLVM is the anaconda storage rewrite, and specifically, system-config-storage. Much of the contents of the initial release of libLVM centers around supporting this effort.
[edit] Benefit to Fedora
Applications currently calling the LVM commandline to interface with LVM can be updated to use the new liblvm API providing for more flexibility, better error handling, etc.
[edit] Scope
Requires rebasing LVM RPM from upstream, pulling in the latest liblvm code.
[edit] Test Plan
- liblvm will be used by existing lvm tools, which are covered by nightly tests.
- liblvm will also be unit tested by developers as APIs are developed
- liblvm will be tested by anaconda team as they do the anaconda rewrite
[edit] User Experience
- Users of the lvm tools should experience no regressions.
- Users of applications that utilize liblvm should experience no regressions in the applications, and the applications capabilities should be enhanced by liblvm.
[edit] Dependencies
- device-mapper (upstream version in sync with upstream LVM)
- lvm2 (base package)
[edit] Contingency Plan
- Existing applications calling LVM can still call the lvm commandline and/or use the liblvm2cmd, the commandline string based library.
[edit] Documentation
[edit] Release Notes
Users and applications desiring to use liblvm should use the liblvm header file and link to the liblvm library.