hpux_mdsetup tool is aimed at making accessing HP-UX logical volumes by Linux device mapper possible.
The DM devices containing hp-vxfs file system can be read-only mounted if the included kernel 3.x patches
have been applied. The patchset addresses many issues like cpu endianessnes vs ondisk big endian data
and a few other things regarding inode lifetime management.
Freevxfs kernel module contains all required features since kernel 4.9 has been released.
Those who use HP16700 logic analyzers for R&D purposes may find this tool useful:
https://sourceforge.net/projects/tv16k7/
Krzysztof Blaszkowski <kb@sysmikro.com.pl>
The hpux_dmsetup was inspired by "hpux-lvm-tools" project which is valuable reference on HP-UX LVM1 internals.
(and only this).
2020.03.24 Reworked code to be more compatible with Debian-based OS's
by removing the echo commands when formatting table for dmsetup.
Created a notification for non-sudo users that creation/removal
is impossible without those privileges. Testing completed successfully
on Ubuntu 18.04 LTS and OpenSUSE 42
Thanks to Keith Monahan <keith@techtravels.org> for reporting dmsetup failure,
preparing proof of concept patch, verifying correctness of final solution,
and valuable input
2016.06 hpux_dmsetup supports discontinuous PEs assignment to logical volumes.
Single PV is required still.
example (lvol4 is splitted):
sudo ./a.out create -v hp16702a-ibm9gb-a.02.90.img
root's password:
VG Creation Time Thu Mar 27 22:09:23 2008
Physical Volume ID 78047830 47ec0d03
Volume Group ID 78047830 47ec0d03
Physical Volumes in VG 78047830 47ec0d03
VG Activation Mode 000 - LOCAL
PE Size 4 MBs
hpuxVG1206652163-lvol1 - 12 PE (48 MBs) at 0 (rc 0)
hpuxVG1206652163-lvol2 - 384 PE (1536 MBs) at 12 (rc 0)
hpuxVG1206652163-lvol3 - 250 PE (1000 MBs) at 396 (rc 0)
hpuxVG1206652163-lvol4 - 437+916 PE (5412 MBs) at 646,1084 (rc 0)
hpuxVG1206652163-lvol5 - 1 PE (4 MBs) at 1083 (rc 0)
VG VG1206652163 Activated succesfully with 5 lvols.
2016.05 (initial release)
hpux_mdsetup command line syntax follows well known dmsetup mainly.
Supported commands are: create, remove, test.
"hpux_dmsetup [-o aux_offset] [-v] create file" is similar to dmsetup create. Moreover it will
utilize loop device in case of a file is regular file (disk raw dump)
"hpux_dmsetup [-v] remove file" similar to dmsetup remove. May remove associated loop device as well.
"hpux_dmsetup [-v] test file" verifies if file contains HP-UX LVM data and returns exit code
with regard to verification status.
-v switch increases message verbosity.
No -v does not pollute stdout and exit code is the only information available.
Exit code of 0 stands for success.
The tool can't handle non-contiguous PE assignment to logical volume by now.