From: mornfall@sourceware.org <mornfall@sourceware.org>
To: lvm-devel@redhat.com
Subject: LVM2/daemons/lvmetad lvmetad-client.h
Date: 13 May 2011 08:17:27 -0000 [thread overview]
Message-ID: <20110513081727.4392.qmail@sourceware.org> (raw)
CVSROOT: /cvs/lvm2
Module name: LVM2
Changes by: mornfall at 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]
-- strict thread matches above, loose matches on Subject: below --
2011-06-02 8:58 LVM2/daemons/lvmetad lvmetad-client.h 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 \
/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: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.