<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: systemcalls for the lvm in Operating System - HP-UX</title>
    <link>https://community.hpe.com/t5/operating-system-hp-ux/systemcalls-for-the-lvm/m-p/2468351#M654312</link>
    <description>HP's LVM implementation comes from the time the OSF (Open Software Foundation) was more active.  LVM was a contribution from IBM to OSF and HP got their LVM base from there.  IBM released their LVM code to the open source community for porting to Linux.  Have a look at &lt;A href="http://www.sistina.com/lvm/" target="_blank"&gt;http://www.sistina.com/lvm/&lt;/A&gt; or more precisely &lt;A href="http://www.sistina.com/lvm/Pages/intro.html." target="_blank"&gt;http://www.sistina.com/lvm/Pages/intro.html.&lt;/A&gt;  You could get some source code overthere too.&lt;BR /&gt;&lt;BR /&gt;If you're willing to do some reverse engineering, you may also consider using 'tusc' to get a trace of system calls used by lvdisplay to get the information.  'tusc' is for HP-UX 11.x, it would be 'trace' on HP-UX 10.20 (see &lt;A href="http://hpux.cs.utah.edu/" target="_blank"&gt;http://hpux.cs.utah.edu/&lt;/A&gt; for these utilities).&lt;BR /&gt;&lt;BR /&gt;Example:&lt;BR /&gt;&lt;BR /&gt;   tusc -v /usr/sbin/lvdisplay -v /dev/vg00/lvol1&lt;BR /&gt;&lt;BR /&gt;After getting info from /etc/lvmtab, lvdisplay does a serie of ioctl() as follows:&lt;BR /&gt;&lt;BR /&gt;open("/dev/vg00/group", O_RDWR, 02) ...... = 4&lt;BR /&gt;stat("/dev/vg00/lvol1", 0x7f7e0e90) .............................. = 0&lt;BR /&gt;fstat(4, 0x7f7e0ee8) ................................. = 0&lt;BR /&gt;ioctl(4, 0xc01c7633, 0x7f7e0dc0) ............... = 0&lt;BR /&gt;  Command: _IOWR('v', 51, 28)&lt;BR /&gt;  Data:&lt;BR /&gt;    \00103\0\0\0\019\019\019\a) \002\0\0\0\0\0\0\003\0\0\0\0&lt;BR /&gt;ioctl(4, 0xc0207612, 0x7f7e0df0) ............... = 0&lt;BR /&gt;  Command: _IOWR('v', 18, 32)&lt;BR /&gt;  Data:&lt;BR /&gt;    045 e6ef8 9090ee\0ff\010\tc4\0\0\0@ \0\0\0c2\0\t\003\00301fc\0\0&lt;BR /&gt;ioctl(4, 0xc01c7633, 0x7f7e1790) ............... = 0&lt;BR /&gt;  Command: _IOWR('v', 51, 28)&lt;BR /&gt;  Data:&lt;BR /&gt;    \001\0\0\0\0\019\019\019\a) \002\0\0\0\0\0\0\0\0\0\0\0\0&lt;BR /&gt;ioctl(4, 0xc00c760d, 0x7f7e17ac) ................ = 0&lt;BR /&gt;  Command: _IOWR('v', 13, 12)&lt;BR /&gt;  Data:&lt;BR /&gt;    \0011793\0\0\019@ 160610&lt;BR /&gt;ioctl(4, 0xc0207610, 0x40160940) ............... = 0&lt;BR /&gt;  Command: _IOWR('v', 16, 32)&lt;BR /&gt;  Data:&lt;BR /&gt;    @ 1606( \0\002\001fb\0\0\0@ \0\01f\0` \0\veb\vec\0\0\0\001\001\0&lt;BR /&gt;ioctl(4, 0xc0207610, 0x40160960) ............... = 0&lt;BR /&gt;  Command: _IOWR('v', 16, 32)&lt;BR /&gt;  Data:&lt;BR /&gt;    @ 1606@ \00102\001fc\0\0\0@ \0\01f\0P \003K 03L \0\0\0\001\001\0&lt;BR /&gt;ioctl(4, 0xc0207610, 0x40160980) ............... = 0&lt;BR /&gt;  Command: _IOWR('v', 16, 32)&lt;BR /&gt;  Data:&lt;BR /&gt;    @ 1606X \00202\001fc\0c2\0@ \0\01f\0@ \003K 03L \0\0\0\001\001\0&lt;BR /&gt;ioctl(1, TCGETA, 0x7f7e1a38) ..... ERR#25 ENOTTY&lt;BR /&gt;  Command: _IOR('T', 1, 18)&lt;BR /&gt;&lt;BR /&gt;Just repeat the process and try to detect any patterns.&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;Daniel.</description>
    <pubDate>Thu, 30 Nov 2000 17:53:43 GMT</pubDate>
    <dc:creator>Daniel Proulx</dc:creator>
    <dc:date>2000-11-30T17:53:43Z</dc:date>
    <item>
      <title>systemcalls for the lvm</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/systemcalls-for-the-lvm/m-p/2468349#M654310</link>
      <description>i want to get information about the location of a logical volume on a physical volume. i know how i do this if the logical volume is only located on one physical volume but if it contains to more than one physical volume i don't know what i have to do. i tried a systemcall like 'pstat_getlv'  (thanks john) but this information i have got was not enough for me.&lt;BR /&gt;&lt;BR /&gt;i need a solution for a c/c++ programm, so it is not so easy scanning the output of the 'lvdisplay' command&lt;BR /&gt;&lt;BR /&gt;hope for help&lt;BR /&gt;&lt;BR /&gt;stefan</description>
      <pubDate>Wed, 29 Nov 2000 08:51:30 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/systemcalls-for-the-lvm/m-p/2468349#M654310</guid>
      <dc:creator>Stefan Koch</dc:creator>
      <dc:date>2000-11-29T08:51:30Z</dc:date>
    </item>
    <item>
      <title>Re: systemcalls for the lvm</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/systemcalls-for-the-lvm/m-p/2468350#M654311</link>
      <description>&lt;BR /&gt;HP keep the lvm stuff pretty close to their chest as its part of HP-UX's source code.&lt;BR /&gt;&lt;BR /&gt;I dont think youre going to have much luck finding the C call you want, youre going to have to do it the long way and call a shell to do a lvdisplay -v or pvdisplay and suck the results back into your C program.</description>
      <pubDate>Wed, 29 Nov 2000 09:43:27 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/systemcalls-for-the-lvm/m-p/2468350#M654311</guid>
      <dc:creator>Stefan Farrelly</dc:creator>
      <dc:date>2000-11-29T09:43:27Z</dc:date>
    </item>
    <item>
      <title>Re: systemcalls for the lvm</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/systemcalls-for-the-lvm/m-p/2468351#M654312</link>
      <description>HP's LVM implementation comes from the time the OSF (Open Software Foundation) was more active.  LVM was a contribution from IBM to OSF and HP got their LVM base from there.  IBM released their LVM code to the open source community for porting to Linux.  Have a look at &lt;A href="http://www.sistina.com/lvm/" target="_blank"&gt;http://www.sistina.com/lvm/&lt;/A&gt; or more precisely &lt;A href="http://www.sistina.com/lvm/Pages/intro.html." target="_blank"&gt;http://www.sistina.com/lvm/Pages/intro.html.&lt;/A&gt;  You could get some source code overthere too.&lt;BR /&gt;&lt;BR /&gt;If you're willing to do some reverse engineering, you may also consider using 'tusc' to get a trace of system calls used by lvdisplay to get the information.  'tusc' is for HP-UX 11.x, it would be 'trace' on HP-UX 10.20 (see &lt;A href="http://hpux.cs.utah.edu/" target="_blank"&gt;http://hpux.cs.utah.edu/&lt;/A&gt; for these utilities).&lt;BR /&gt;&lt;BR /&gt;Example:&lt;BR /&gt;&lt;BR /&gt;   tusc -v /usr/sbin/lvdisplay -v /dev/vg00/lvol1&lt;BR /&gt;&lt;BR /&gt;After getting info from /etc/lvmtab, lvdisplay does a serie of ioctl() as follows:&lt;BR /&gt;&lt;BR /&gt;open("/dev/vg00/group", O_RDWR, 02) ...... = 4&lt;BR /&gt;stat("/dev/vg00/lvol1", 0x7f7e0e90) .............................. = 0&lt;BR /&gt;fstat(4, 0x7f7e0ee8) ................................. = 0&lt;BR /&gt;ioctl(4, 0xc01c7633, 0x7f7e0dc0) ............... = 0&lt;BR /&gt;  Command: _IOWR('v', 51, 28)&lt;BR /&gt;  Data:&lt;BR /&gt;    \00103\0\0\0\019\019\019\a) \002\0\0\0\0\0\0\003\0\0\0\0&lt;BR /&gt;ioctl(4, 0xc0207612, 0x7f7e0df0) ............... = 0&lt;BR /&gt;  Command: _IOWR('v', 18, 32)&lt;BR /&gt;  Data:&lt;BR /&gt;    045 e6ef8 9090ee\0ff\010\tc4\0\0\0@ \0\0\0c2\0\t\003\00301fc\0\0&lt;BR /&gt;ioctl(4, 0xc01c7633, 0x7f7e1790) ............... = 0&lt;BR /&gt;  Command: _IOWR('v', 51, 28)&lt;BR /&gt;  Data:&lt;BR /&gt;    \001\0\0\0\0\019\019\019\a) \002\0\0\0\0\0\0\0\0\0\0\0\0&lt;BR /&gt;ioctl(4, 0xc00c760d, 0x7f7e17ac) ................ = 0&lt;BR /&gt;  Command: _IOWR('v', 13, 12)&lt;BR /&gt;  Data:&lt;BR /&gt;    \0011793\0\0\019@ 160610&lt;BR /&gt;ioctl(4, 0xc0207610, 0x40160940) ............... = 0&lt;BR /&gt;  Command: _IOWR('v', 16, 32)&lt;BR /&gt;  Data:&lt;BR /&gt;    @ 1606( \0\002\001fb\0\0\0@ \0\01f\0` \0\veb\vec\0\0\0\001\001\0&lt;BR /&gt;ioctl(4, 0xc0207610, 0x40160960) ............... = 0&lt;BR /&gt;  Command: _IOWR('v', 16, 32)&lt;BR /&gt;  Data:&lt;BR /&gt;    @ 1606@ \00102\001fc\0\0\0@ \0\01f\0P \003K 03L \0\0\0\001\001\0&lt;BR /&gt;ioctl(4, 0xc0207610, 0x40160980) ............... = 0&lt;BR /&gt;  Command: _IOWR('v', 16, 32)&lt;BR /&gt;  Data:&lt;BR /&gt;    @ 1606X \00202\001fc\0c2\0@ \0\01f\0@ \003K 03L \0\0\0\001\001\0&lt;BR /&gt;ioctl(1, TCGETA, 0x7f7e1a38) ..... ERR#25 ENOTTY&lt;BR /&gt;  Command: _IOR('T', 1, 18)&lt;BR /&gt;&lt;BR /&gt;Just repeat the process and try to detect any patterns.&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;Daniel.</description>
      <pubDate>Thu, 30 Nov 2000 17:53:43 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/systemcalls-for-the-lvm/m-p/2468351#M654312</guid>
      <dc:creator>Daniel Proulx</dc:creator>
      <dc:date>2000-11-30T17:53:43Z</dc:date>
    </item>
  </channel>
</rss>

