The Logical Volume Manager (LVM) is the disk management system that replaces the older FDISK-based system in OS/2 Warp Server for e-business, all OS/2 Convenience Package releases, and all versions of eComStation.

This page is geared towards developers who are interested in interfacing with the LVM engine from their applications. For more information about LVM from the perspective of end users and system administrators, I recommend the excellent primer available on Bob Eager's web site.

Note: The OS/2 Logical Volume Manager should not be confused with the similarly named Logical Volume Manager for Linux. They are different products which work in different ways, although they fulfil similar roles on their respective platforms.

Adding to the confusion, the OS/2 LVM has actually been released under an open source license and ported to Linux; however, the name of the open source version has been changed to "Enterprise Volume Management System" (EVMS).

The LVM Programmer's Toolkit for OS/2

Application programmers can access the LVM engine directly by using the Logical Volume Manager API, which is provided by the LVM.DLL library.

Header files, an import library, and detailed API documentation are available in the LVM Programmer's Toolkit, available here and licensed under the GNU GPL. (Equivalent header files are also included, albeit without an import library or standalone documentation, in the IBM Device Driver Kit for OS/2; however, use of the DDK requires a license from IBM, and the terms of use are somewhat restricted.)

The toolkit files are based on the Reference OS/2 Code for EVMS, which is the (slightly modified) source code of LVM that IBM released as open source. A snapshot of this source is provided below, as it appears to no longer be available through the EVMS SourceForge project.

The current version of the LVM Toolkit is v1.5, which represents a major update over previous versions; see the release notes for details.

You can also browse the API documentation online.

Files

lvm_toolkit_15.zip LVM Toolkit for OS/2 (version 1.5)
lvmsrc.zip Initial release of the OS/2 LVM sources (for reference only; not needed for program development)

REXX LVM Interface

I've written a (simple) REXX interface to certain LVM functions. This library is called RxLVM, and provides read-only access to information about drives, volumes, partitions, and Boot Manager.

RxLVM is made available under a BSD-type license; the source code is included.

Files

rxlvm_051.zip RxLVM library (version 0.51)

Redesigning LVM

A few years ago, I started working on a project to revamp LVM's user interface. After a very long period of inactivity, I've finally picked it up again.

A preview release is now available:

lvmpm_bin.zip Binaries only (2011-08-17)

My original proposal can be read here.