linux-lvm.redhat.com archive mirror
 help / color / mirror / Atom feed
* [linux-lvm] New developer question -- API
@ 2007-04-27  1:44 John Antypas
  2007-04-27  8:50 ` Bryn M. Reeves
  0 siblings, 1 reply; 2+ messages in thread
From: John Antypas @ 2007-04-27  1:44 UTC (permalink / raw)
  To: linux-lvm

[-- Attachment #1: Type: text/plain, Size: 738 bytes --]

This has probably been asked thousands of times before, but I'll try to be a
good 1001 J

 

I'm trying to write some userspace code which can determine what  LV, VG and
PV a givne file mout belongs to.  Yes, I can process the output of a few
command lines tools like this:

 

1.       Get the mount from /proc/mounts

2.       Run lvs and map that into the LVM

3.       Using the LVM, run vgs and get the VG

4.       Using VG, use pvs and get the PV

5.       Using PV, now some knowledge about how I set things up and get the
md

6.       Run around proc some more and figure out which disks this md is on

 

These utilities do it - is there an API I can call to do all of this tracing
down rather than processing shell processes?


[-- Attachment #2: Type: text/html, Size: 4762 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [linux-lvm] New developer question -- API
  2007-04-27  1:44 [linux-lvm] New developer question -- API John Antypas
@ 2007-04-27  8:50 ` Bryn M. Reeves
  0 siblings, 0 replies; 2+ messages in thread
From: Bryn M. Reeves @ 2007-04-27  8:50 UTC (permalink / raw)
  To: LVM general discussion and development

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

John Antypas wrote:
> This has probably been asked thousands of times before, but I?ll try to
> be a good 1001 J
> 
>  
> 
> I?m trying to write some userspace code which can determine what  LV, VG
> and PV a givne file mout belongs to.  Yes, I can process the output of a
> few command lines tools like this:
> 
>  
> 
> 1.       Get the mount from /proc/mounts
> 
> 2.       Run lvs and map that into the LVM
> 
> 3.       Using the LVM, run vgs and get the VG
> 
> 4.       Using VG, use pvs and get the PV
> 
> 5.       Using PV, now some knowledge about how I set things up and get
> the md
> 
> 6.       Run around proc some more and figure out which disks this md is on
> 
>  
> 
> These utilities do it ? is there an API I can call to do all of this
> tracing down rather than processing shell processes?
> 

You can use liblvm2cmd to get this information (the header is normally
/usr/include/lvm2cmd.h). This allows you to run LVM2 commands through a
library interface, although you will still need to parse the output as
it is the same textual format as the commands themselves provide.

On a recent enough kernel though, all the information you are interested
in is exposed directly in sysfs. Take a look at the "holders" and
"slaves" entries in subdirectories of /sys/block. There is also a
library interface (libsysfs) that provides access to the keys & values
exposed here.

Regards,
Bryn.


-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (GNU/Linux)
Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org

iD8DBQFGMblW6YSQoMYUY94RAkgHAKDCwMM8R8H4H72Hpr8lsTHgyLxv8wCgsX6f
lBGTn0VeYA0M/4uTNHDr+j4=
=B9i/
-----END PGP SIGNATURE-----

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2007-04-27  8:46 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-04-27  1:44 [linux-lvm] New developer question -- API John Antypas
2007-04-27  8:50 ` Bryn M. Reeves

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).