public inbox for lvm2-cvs@sourceware.org help / color / mirror / Atom feed
From: mornfall@sourceware.org To: lvm-devel@redhat.com, lvm2-cvs@sourceware.org Subject: LVM2/daemons/lvmetad lvmetad-client.h Date: Fri, 13 May 2011 08:17:00 -0000 [thread overview] Message-ID: <20110513081727.4392.qmail@sourceware.org> (raw) CVSROOT: /cvs/lvm2 Module name: LVM2 Changes by: mornfall@sourceware.org 2011-05-13 08:17:26 Added files: daemons/lvmetad: lvmetad-client.h Log message: First go at the lvmetad client-side interface. Patches: http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/daemons/lvmetad/lvmetad-client.h.diff?cvsroot=lvm2&r1=NONE&r2=1.1 /cvs/lvm2/LVM2/daemons/lvmetad/lvmetad-client.h,v --> standard output revision 1.1 --- LVM2/daemons/lvmetad/lvmetad-client.h +++ - 2011-05-13 08:17:27.582611000 +0000 @@ -0,0 +1,81 @@ +/* + * Copyright (C) 2011 Red Hat, Inc. All rights reserved. + * + * This file is part of LVM2. + * + * This copyrighted material is made available to anyone wishing to use, + * modify, copy, or redistribute it subject to the terms and conditions + * of the GNU Lesser General Public License v.2.1. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#ifndef _LVM_LVMETAD_CLIENT_H +#define _LVM_LVMETAD_CLIENT_H + +#include "daemon-client.h" + +/* Different types of replies we may get from lvmetad. */ + +typedef struct { + daemon_reply r; + const char **uuids; /* NULL terminated array */ +} lvmetad_uuidlist; + +typedef struct { + daemon_reply r; + struct config_tree *cft; +} lvmetad_vg; + +static inline daemon_handle lvmetad_open(); +static inline void lvmetad_close(daemon_handle h); + +/* Get a list of VG UUIDs that match a given VG name. */ +lvmetad_uuidlist lvmetad_lookup_vgname(daemon_handle h, const char *name); + +/* Get the metadata of a single VG, identified by UUID. */ +lvmetad_vg lvmetad_get_vg(daemon_handle h, const char *uuid); + +/* + * Add and remove PVs on demand. Udev-driven systems will use this interface + * instead of scanning. + */ +daemon_reply lvmetad_add_pv(daemon_handle h, const char *pv_uuid, const char *mda_content); +daemon_reply lvmetad_remove_pv(daemon_handle h, const char *pv_uuid); + +/* Trigger a full disk scan, throwing away all caches. XXX do we eventually want + * this? Probalby not yet, anyway. + * daemon_reply lvmetad_rescan(daemon_handle h); + */ + +/* + * Update the version of metadata of a volume group. The VG has to be locked for + * writing for this, and the VG metadata here has to match whatever has been + * written to the disk (under this lock). This initially avoids the requirement + * for lvmetad to write to disk (in later revisions, lvmetad_supersede_vg may + * also do the writing, or we probably add another function to do that). + */ +daemon_reply lvmetad_supersede_vg(daemon_handle h, struct volume_group *vg); + +/* Implementation of inline functions */ + +static inline daemon_handle lvmetad_open() +{ + /* TODO configurable */ + daemon_info lvmetad_info = { + .path = "lvmetad", + .socket = "/var/run/lvmetad.socket", + .autostart = 1 + }; + + return daemon_open(lvmetad_info); +} + +static inline void lvmetad_close(daemon_handle h) +{ + return daemon_close(h); +} + +#endif
next reply other threads:[~2011-05-13 8:17 UTC|newest] Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top 2011-05-13 8:17 mornfall [this message] 2011-06-02 8:58 mbroz 2012-02-23 11:40 mornfall
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20110513081727.4392.qmail@sourceware.org \ --to=mornfall@sourceware.org \ --cc=lvm-devel@redhat.com \ --cc=lvm2-cvs@sourceware.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
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 read-only IMAP folder(s) and NNTP newsgroup(s).