This commit is contained in:
parent
7b6ed3d331
commit
2754b8fdcd
19
boot.lvm
19
boot.lvm
@ -7,7 +7,7 @@
|
|||||||
### BEGIN INIT INFO
|
### BEGIN INIT INFO
|
||||||
# Provides: boot.lvm
|
# Provides: boot.lvm
|
||||||
# Required-Start: boot.device-mapper boot.udev boot.rootfsck
|
# Required-Start: boot.device-mapper boot.udev boot.rootfsck
|
||||||
# X-UnitedLinux-Should-Start: boot.multipath boot.md boot.scsidev boot.dmraid
|
# Should-Start: boot.multipath boot.md boot.dmraid
|
||||||
# Required-Stop:
|
# Required-Stop:
|
||||||
# Default-Start: B
|
# Default-Start: B
|
||||||
# Default-Stop:
|
# Default-Stop:
|
||||||
@ -42,22 +42,12 @@ case "$1" in
|
|||||||
echo "Activating LVM volume groups..."
|
echo "Activating LVM volume groups..."
|
||||||
/sbin/vgchange -a y $LVM_VGS_ACTIVATED_ON_BOOT
|
/sbin/vgchange -a y $LVM_VGS_ACTIVATED_ON_BOOT
|
||||||
|
|
||||||
# currently unavailable with lvm2
|
|
||||||
#if test -s /etc/pvpath.cfg -a -x /sbin/pvpathrestore; then
|
|
||||||
# /sbin/pvpathrestore
|
|
||||||
#fi
|
|
||||||
rc_status -v -r
|
rc_status -v -r
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
stop)
|
stop)
|
||||||
if test -d /etc/lvmtab.d -a -x /sbin/vgchange ; then
|
if test -d /etc/lvm -a -x /sbin/vgchange ; then
|
||||||
/sbin/vgchange -a n
|
/sbin/vgchange -a n
|
||||||
|
|
||||||
# currently unavailable with lvm2
|
|
||||||
#if test -s /etc/pvpath.cfg -a -x /sbin/pvpathsave; then
|
|
||||||
# /sbin/pvpathsave
|
|
||||||
#fi
|
|
||||||
|
|
||||||
fi
|
fi
|
||||||
rc_status -v
|
rc_status -v
|
||||||
;;
|
;;
|
||||||
@ -65,8 +55,11 @@ case "$1" in
|
|||||||
rc_failed 4
|
rc_failed 4
|
||||||
rc_status -v
|
rc_status -v
|
||||||
;;
|
;;
|
||||||
|
reload)
|
||||||
|
$0 start
|
||||||
|
;;
|
||||||
*)
|
*)
|
||||||
echo "Usage: $0 {start|stop|status}"
|
echo "Usage: $0 {start|stop|status|reload}"
|
||||||
exit 1
|
exit 1
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
82
clvmd-fix-node-hash.diff
Normal file
82
clvmd-fix-node-hash.diff
Normal file
@ -0,0 +1,82 @@
|
|||||||
|
--- daemons/clvmd/clvmd-openais.c
|
||||||
|
+++ daemons/clvmd/clvmd-openais.c
|
||||||
|
@@ -100,13 +100,6 @@
|
||||||
|
SaNameT lock_name;
|
||||||
|
};
|
||||||
|
|
||||||
|
-struct lock_wait
|
||||||
|
-{
|
||||||
|
- pthread_cond_t cond;
|
||||||
|
- pthread_mutex_t mutex;
|
||||||
|
- int status;
|
||||||
|
-};
|
||||||
|
-
|
||||||
|
/* Set errno to something approximating the right value and return 0 or -1 */
|
||||||
|
static int ais_to_errno(SaAisErrorT err)
|
||||||
|
{
|
||||||
|
@@ -245,12 +238,15 @@
|
||||||
|
|
||||||
|
memcpy(&target_nodeid, msg, OPENAIS_CSID_LEN);
|
||||||
|
|
||||||
|
- DEBUGLOG("Got message from nodeid %d for %d. len %d\n",
|
||||||
|
- nodeid, target_nodeid, msg_len-4);
|
||||||
|
+ DEBUGLOG("%u got message from nodeid %d for %d. len %d\n",
|
||||||
|
+ our_nodeid, nodeid, target_nodeid, msg_len-4);
|
||||||
|
|
||||||
|
- if (target_nodeid == our_nodeid)
|
||||||
|
- process_message(cluster_client, (char *)msg+OPENAIS_CSID_LEN,
|
||||||
|
- msg_len-OPENAIS_CSID_LEN, (char*)&nodeid);
|
||||||
|
+ if (nodeid != our_nodeid) //Not send by myself
|
||||||
|
+ if (target_nodeid == our_nodeid || target_nodeid == 0)
|
||||||
|
+ process_message(cluster_client,
|
||||||
|
+ (char *)msg+OPENAIS_CSID_LEN,
|
||||||
|
+ msg_len-OPENAIS_CSID_LEN,
|
||||||
|
+ (char*)&nodeid);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void cpg_confchg_callback(cpg_handle_t handle,
|
||||||
|
@@ -292,7 +288,44 @@
|
||||||
|
ninfo->state = NODE_DOWN;
|
||||||
|
}
|
||||||
|
|
||||||
|
+ for (i=0; i<member_list_entries; i++) {
|
||||||
|
+ if (member_list[i].nodeid == 0) continue;
|
||||||
|
+ ninfo = dm_hash_lookup_binary(node_hash,
|
||||||
|
+ (char *)&member_list[i].nodeid,
|
||||||
|
+ OPENAIS_CSID_LEN);
|
||||||
|
+ if (!ninfo) {
|
||||||
|
+ ninfo = malloc(sizeof(struct node_info));
|
||||||
|
+ if (!ninfo) {
|
||||||
|
+ break;
|
||||||
|
+ }
|
||||||
|
+ else {
|
||||||
|
+ ninfo->nodeid = member_list[i].nodeid;
|
||||||
|
+ dm_hash_insert_binary(node_hash,
|
||||||
|
+ (char *)&ninfo->nodeid,
|
||||||
|
+ OPENAIS_CSID_LEN, ninfo);
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+ ninfo->state = NODE_CLVMD;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
num_nodes = joined_list_entries;
|
||||||
|
+
|
||||||
|
+ //Verbose on node_hash, helpful to debug
|
||||||
|
+ struct dm_hash_node *hn;
|
||||||
|
+ DEBUGLOG("Iterate node_hash\n");
|
||||||
|
+ dm_hash_iterate(hn, node_hash)
|
||||||
|
+ {
|
||||||
|
+ ninfo = dm_hash_get_data(node_hash, hn);
|
||||||
|
+ if (ninfo->state == NODE_CLVMD) {
|
||||||
|
+ DEBUGLOG("%u:%s\n", ninfo->nodeid, "CLVMD");
|
||||||
|
+ }
|
||||||
|
+ else {
|
||||||
|
+ if (ninfo->state == NODE_DOWN)
|
||||||
|
+ DEBUGLOG("%u:%s\n", ninfo->nodeid, "DOWN");
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+ DEBUGLOG("Iterate node_hash done\n");
|
||||||
|
+
|
||||||
|
}
|
||||||
|
|
||||||
|
|
11
clvmd-node-number-fix.diff
Normal file
11
clvmd-node-number-fix.diff
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
--- daemons/clvmd/clvmd-openais.c
|
||||||
|
+++ daemons/clvmd/clvmd-openais.c
|
||||||
|
@@ -308,7 +308,7 @@
|
||||||
|
ninfo->state = NODE_CLVMD;
|
||||||
|
}
|
||||||
|
|
||||||
|
- num_nodes = joined_list_entries;
|
||||||
|
+ num_nodes = member_list_entries;
|
||||||
|
|
||||||
|
//Verbose on node_hash, helpful to debug
|
||||||
|
struct dm_hash_node *hn;
|
168
clvmd-openais-sync.diff
Normal file
168
clvmd-openais-sync.diff
Normal file
@ -0,0 +1,168 @@
|
|||||||
|
--- daemons/clvmd/clvmd-openais.c
|
||||||
|
+++ daemons/clvmd/clvmd-openais.c
|
||||||
|
@@ -50,11 +50,6 @@
|
||||||
|
/* Timeout value for several openais calls */
|
||||||
|
#define TIMEOUT 10
|
||||||
|
|
||||||
|
-static void lck_lock_callback(SaInvocationT invocation,
|
||||||
|
- SaLckLockStatusT lockStatus,
|
||||||
|
- SaAisErrorT error);
|
||||||
|
-static void lck_unlock_callback(SaInvocationT invocation,
|
||||||
|
- SaAisErrorT error);
|
||||||
|
static void cpg_deliver_callback (cpg_handle_t handle,
|
||||||
|
struct cpg_name *groupName,
|
||||||
|
uint32_t nodeid,
|
||||||
|
@@ -92,11 +87,6 @@
|
||||||
|
.cpg_confchg_fn = cpg_confchg_callback,
|
||||||
|
};
|
||||||
|
|
||||||
|
-SaLckCallbacksT lck_callbacks = {
|
||||||
|
- .saLckLockGrantCallback = lck_lock_callback,
|
||||||
|
- .saLckResourceUnlockCallback = lck_unlock_callback
|
||||||
|
-};
|
||||||
|
-
|
||||||
|
struct node_info
|
||||||
|
{
|
||||||
|
enum {NODE_UNKNOWN, NODE_DOWN, NODE_UP, NODE_CLVMD} state;
|
||||||
|
@@ -305,32 +295,6 @@
|
||||||
|
num_nodes = joined_list_entries;
|
||||||
|
}
|
||||||
|
|
||||||
|
-static void lck_lock_callback(SaInvocationT invocation,
|
||||||
|
- SaLckLockStatusT lockStatus,
|
||||||
|
- SaAisErrorT error)
|
||||||
|
-{
|
||||||
|
- struct lock_wait *lwait = (struct lock_wait *)(long)invocation;
|
||||||
|
-
|
||||||
|
- DEBUGLOG("lck_lock_callback, error = %d\n", error);
|
||||||
|
-
|
||||||
|
- lwait->status = error;
|
||||||
|
- pthread_mutex_lock(&lwait->mutex);
|
||||||
|
- pthread_cond_signal(&lwait->cond);
|
||||||
|
- pthread_mutex_unlock(&lwait->mutex);
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
-static void lck_unlock_callback(SaInvocationT invocation,
|
||||||
|
- SaAisErrorT error)
|
||||||
|
-{
|
||||||
|
- struct lock_wait *lwait = (struct lock_wait *)(long)invocation;
|
||||||
|
-
|
||||||
|
- DEBUGLOG("lck_unlock_callback\n");
|
||||||
|
-
|
||||||
|
- lwait->status = SA_AIS_OK;
|
||||||
|
- pthread_mutex_lock(&lwait->mutex);
|
||||||
|
- pthread_cond_signal(&lwait->cond);
|
||||||
|
- pthread_mutex_unlock(&lwait->mutex);
|
||||||
|
-}
|
||||||
|
|
||||||
|
static int lck_dispatch(struct local_client *client, char *buf, int len,
|
||||||
|
const char *csid, struct local_client **new_client)
|
||||||
|
@@ -359,7 +323,7 @@
|
||||||
|
}
|
||||||
|
|
||||||
|
err = saLckInitialize(&lck_handle,
|
||||||
|
- &lck_callbacks,
|
||||||
|
+ NULL,
|
||||||
|
&ver);
|
||||||
|
if (err != SA_AIS_OK) {
|
||||||
|
cpg_initialize(&cpg_handle, &cpg_callbacks);
|
||||||
|
@@ -495,15 +459,11 @@
|
||||||
|
/* Real locking */
|
||||||
|
static int _lock_resource(char *resource, int mode, int flags, int *lockid)
|
||||||
|
{
|
||||||
|
- struct lock_wait lwait;
|
||||||
|
struct lock_info *linfo;
|
||||||
|
SaLckResourceHandleT res_handle;
|
||||||
|
SaAisErrorT err;
|
||||||
|
SaLckLockIdT lock_id;
|
||||||
|
-
|
||||||
|
- pthread_cond_init(&lwait.cond, NULL);
|
||||||
|
- pthread_mutex_init(&lwait.mutex, NULL);
|
||||||
|
- pthread_mutex_lock(&lwait.mutex);
|
||||||
|
+ SaLckLockStatusT lockStatus;
|
||||||
|
|
||||||
|
/* This needs to be converted from DLM/LVM2 value for OpenAIS LCK */
|
||||||
|
if (flags & LCK_NONBLOCK) flags = SA_LCK_LOCK_NO_QUEUE;
|
||||||
|
@@ -526,24 +486,24 @@
|
||||||
|
return ais_to_errno(err);
|
||||||
|
}
|
||||||
|
|
||||||
|
- err = saLckResourceLockAsync(res_handle,
|
||||||
|
- (SaInvocationT)(long)&lwait,
|
||||||
|
- &lock_id,
|
||||||
|
- mode,
|
||||||
|
- flags,
|
||||||
|
- 0);
|
||||||
|
- if (err != SA_AIS_OK)
|
||||||
|
+ err = saLckResourceLock(
|
||||||
|
+ res_handle,
|
||||||
|
+ &lock_id,
|
||||||
|
+ mode,
|
||||||
|
+ flags,
|
||||||
|
+ 0,
|
||||||
|
+ SA_TIME_END,
|
||||||
|
+ &lockStatus);
|
||||||
|
+ if (err != SA_AIS_OK && lockStatus != SA_LCK_LOCK_GRANTED)
|
||||||
|
{
|
||||||
|
free(linfo);
|
||||||
|
saLckResourceClose(res_handle);
|
||||||
|
return ais_to_errno(err);
|
||||||
|
}
|
||||||
|
-
|
||||||
|
+
|
||||||
|
/* Wait for it to complete */
|
||||||
|
- pthread_cond_wait(&lwait.cond, &lwait.mutex);
|
||||||
|
- pthread_mutex_unlock(&lwait.mutex);
|
||||||
|
|
||||||
|
- DEBUGLOG("lock_resource returning %d, lock_id=%llx\n", lwait.status,
|
||||||
|
+ DEBUGLOG("lock_resource returning %d, lock_id=%llx\n", err,
|
||||||
|
lock_id);
|
||||||
|
|
||||||
|
linfo->lock_id = lock_id;
|
||||||
|
@@ -551,43 +511,34 @@
|
||||||
|
|
||||||
|
dm_hash_insert(lock_hash, resource, linfo);
|
||||||
|
|
||||||
|
- return ais_to_errno(lwait.status);
|
||||||
|
+ return ais_to_errno(err);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static int _unlock_resource(char *resource, int lockid)
|
||||||
|
{
|
||||||
|
- struct lock_wait lwait;
|
||||||
|
SaAisErrorT err;
|
||||||
|
struct lock_info *linfo;
|
||||||
|
|
||||||
|
- pthread_cond_init(&lwait.cond, NULL);
|
||||||
|
- pthread_mutex_init(&lwait.mutex, NULL);
|
||||||
|
- pthread_mutex_lock(&lwait.mutex);
|
||||||
|
-
|
||||||
|
DEBUGLOG("unlock_resource %s\n", resource);
|
||||||
|
linfo = dm_hash_lookup(lock_hash, resource);
|
||||||
|
if (!linfo)
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
DEBUGLOG("unlock_resource: lockid: %llx\n", linfo->lock_id);
|
||||||
|
- err = saLckResourceUnlockAsync((SaInvocationT)(long)&lwait, linfo->lock_id);
|
||||||
|
+ err = saLckResourceUnlock(linfo->lock_id, SA_TIME_END);
|
||||||
|
if (err != SA_AIS_OK)
|
||||||
|
{
|
||||||
|
DEBUGLOG("Unlock returned %d\n", err);
|
||||||
|
return ais_to_errno(err);
|
||||||
|
}
|
||||||
|
|
||||||
|
- /* Wait for it to complete */
|
||||||
|
- pthread_cond_wait(&lwait.cond, &lwait.mutex);
|
||||||
|
- pthread_mutex_unlock(&lwait.mutex);
|
||||||
|
-
|
||||||
|
/* Release the resource */
|
||||||
|
dm_hash_remove(lock_hash, resource);
|
||||||
|
saLckResourceClose(linfo->res_handle);
|
||||||
|
free(linfo);
|
||||||
|
|
||||||
|
- return ais_to_errno(lwait.status);
|
||||||
|
+ return ais_to_errno(err);
|
||||||
|
}
|
||||||
|
|
||||||
|
static int _sync_lock(const char *resource, int mode, int flags, int *lockid)
|
16
lvm2.changes
16
lvm2.changes
@ -1,3 +1,19 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Apr 30 12:17:29 CEST 2008 - hare@suse.de
|
||||||
|
|
||||||
|
- Fixup build errors
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Apr 30 09:22:55 CEST 2008 - xwhu@suse.de
|
||||||
|
|
||||||
|
- Cleanup clvmd code on openais stack to make it work
|
||||||
|
- Split clvmd into a separate package (bnc#384708)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Apr 23 12:16:22 CEST 2008 - xwhu@suse.de
|
||||||
|
|
||||||
|
- Change async lock primitives to sync
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Wed Apr 23 07:29:12 CEST 2008 - xwhu@suse.de
|
Wed Apr 23 07:29:12 CEST 2008 - xwhu@suse.de
|
||||||
|
|
||||||
|
57
lvm2.spec
57
lvm2.spec
@ -11,18 +11,16 @@
|
|||||||
|
|
||||||
|
|
||||||
Name: lvm2
|
Name: lvm2
|
||||||
BuildRequires: device-mapper-devel module-init-tools openais-devel
|
BuildRequires: device-mapper-devel openais-devel
|
||||||
License: GPL v2 or later; LGPL v2.1 or later
|
License: GPL v2 or later; LGPL v2.1 or later
|
||||||
Group: System/Base
|
Group: System/Base
|
||||||
Requires: device-mapper >= 1.02.23
|
Requires: device-mapper >= 1.02.23
|
||||||
Provides: lvm
|
Provides: lvm
|
||||||
Obsoletes: lvm
|
Obsoletes: lvm
|
||||||
%if %suse_version > 800
|
|
||||||
PreReq: %fillup_prereq %insserv_prereq
|
PreReq: %fillup_prereq %insserv_prereq
|
||||||
%endif
|
|
||||||
AutoReqProv: on
|
AutoReqProv: on
|
||||||
Version: 2.02.33
|
Version: 2.02.33
|
||||||
Release: 17
|
Release: 19
|
||||||
Summary: LVM2 Tools
|
Summary: LVM2 Tools
|
||||||
Source: LVM2.%{version}.tar.bz2
|
Source: LVM2.%{version}.tar.bz2
|
||||||
Source1: lvm.conf
|
Source1: lvm.conf
|
||||||
@ -38,6 +36,9 @@ Patch10: lvm-no_chown.diff
|
|||||||
Patch11: cmdline_large_minor.diff
|
Patch11: cmdline_large_minor.diff
|
||||||
Patch12: enable-clvmd.patch
|
Patch12: enable-clvmd.patch
|
||||||
Patch13: pipe_buff-definition.diff
|
Patch13: pipe_buff-definition.diff
|
||||||
|
Patch14: clvmd-openais-sync.diff
|
||||||
|
Patch15: clvmd-fix-node-hash.diff
|
||||||
|
Patch16: clvmd-node-number-fix.diff
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
|
|
||||||
%description
|
%description
|
||||||
@ -46,6 +47,17 @@ Volume Manager.
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
%package clvm
|
||||||
|
License: GPL v2 or later; LGPL v2.1 or later
|
||||||
|
Requires: %{name}-%{version} openais
|
||||||
|
Summary: Clustered LVM2
|
||||||
|
Group: System/Base
|
||||||
|
|
||||||
|
%description clvm
|
||||||
|
A daemon for using LVM2 Logival Volumes in a clustered environment.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -n LVM2.%{version}
|
%setup -n LVM2.%{version}
|
||||||
%patch
|
%patch
|
||||||
@ -55,8 +67,12 @@ Volume Manager.
|
|||||||
%patch5
|
%patch5
|
||||||
%patch6
|
%patch6
|
||||||
%patch10
|
%patch10
|
||||||
|
%patch11
|
||||||
%patch12
|
%patch12
|
||||||
%patch13
|
%patch13
|
||||||
|
%patch14
|
||||||
|
%patch15
|
||||||
|
%patch16
|
||||||
|
|
||||||
%build
|
%build
|
||||||
CFLAGS="$RPM_OPT_FLAGS" MODPROBE_CMD=/sbin/modprobe \
|
CFLAGS="$RPM_OPT_FLAGS" MODPROBE_CMD=/sbin/modprobe \
|
||||||
@ -65,7 +81,7 @@ LDFLAGS="-L /usr/%_lib/openais" \
|
|||||||
--mandir=%{_mandir} \
|
--mandir=%{_mandir} \
|
||||||
--includedir=/usr/include \
|
--includedir=/usr/include \
|
||||||
--libdir=/%_lib --enable-dmeventd --enable-cmdlib \
|
--libdir=/%_lib --enable-dmeventd --enable-cmdlib \
|
||||||
--with-clvmd=openais --with-cluster=shared
|
--with-clvmd=openais
|
||||||
make
|
make
|
||||||
|
|
||||||
%install
|
%install
|
||||||
@ -77,11 +93,14 @@ install -d -m 755 $RPM_BUILD_ROOT/etc/lvm/metadata
|
|||||||
install -d -m 755 $RPM_BUILD_ROOT/var/lock/lvm
|
install -d -m 755 $RPM_BUILD_ROOT/var/lock/lvm
|
||||||
install -D -m 755 $RPM_BUILD_ROOT/sbin/clvmd $RPM_BUILD_ROOT/usr/sbin/clvmd
|
install -D -m 755 $RPM_BUILD_ROOT/sbin/clvmd $RPM_BUILD_ROOT/usr/sbin/clvmd
|
||||||
rm $RPM_BUILD_ROOT/sbin/clvmd
|
rm $RPM_BUILD_ROOT/sbin/clvmd
|
||||||
|
rm $RPM_BUILD_ROOT/%_lib/libdevmapper-event-lvm2mirror.so
|
||||||
|
rm $RPM_BUILD_ROOT/%_lib/libdevmapper-event-lvm2snapshot.so
|
||||||
|
rm $RPM_BUILD_ROOT/%_lib/liblvm2cmd.so
|
||||||
install -m 644 %{SOURCE1} $RPM_BUILD_ROOT/etc/lvm
|
install -m 644 %{SOURCE1} $RPM_BUILD_ROOT/etc/lvm
|
||||||
mkdir -p $RPM_BUILD_ROOT/etc/init.d
|
mkdir -p $RPM_BUILD_ROOT/etc/init.d
|
||||||
install -m 744 %{SOURCE2} $RPM_BUILD_ROOT/etc/init.d
|
install -m 755 %{SOURCE2} $RPM_BUILD_ROOT/etc/init.d
|
||||||
mkdir -p $RPM_BUILD_ROOT/var/adm/fillup-templates
|
mkdir -p $RPM_BUILD_ROOT/var/adm/fillup-templates
|
||||||
install -m 755 %{SOURCE3} $RPM_BUILD_ROOT/var/adm/fillup-templates
|
install -m 644 %{SOURCE3} $RPM_BUILD_ROOT/var/adm/fillup-templates
|
||||||
rm $RPM_BUILD_ROOT/usr/include/lvm2cmd.h
|
rm $RPM_BUILD_ROOT/usr/include/lvm2cmd.h
|
||||||
|
|
||||||
%clean
|
%clean
|
||||||
@ -89,13 +108,22 @@ rm -rf $RPM_BUILD_ROOT
|
|||||||
|
|
||||||
%post
|
%post
|
||||||
%{fillup_and_insserv -n lvm -py boot.lvm}
|
%{fillup_and_insserv -n lvm -py boot.lvm}
|
||||||
|
/sbin/ldconfig
|
||||||
|
|
||||||
|
%preun
|
||||||
|
%{stop_on_removal boot.lvm}
|
||||||
|
|
||||||
%postun
|
%postun
|
||||||
%{insserv_cleanup}
|
%{insserv_cleanup}
|
||||||
|
/sbin/ldconfig
|
||||||
|
|
||||||
|
%files clvm
|
||||||
|
%defattr(-,root,root)
|
||||||
|
/usr/sbin/clvmd
|
||||||
|
|
||||||
%files
|
%files
|
||||||
%defattr(-,root,root)
|
%defattr(-,root,root)
|
||||||
%doc INSTALL COPYING COPYING.LIB README WHATS_NEW doc/*
|
%doc INSTALL README WHATS_NEW doc/*
|
||||||
%dir /etc/lvm
|
%dir /etc/lvm
|
||||||
%dir /etc/lvm/backup
|
%dir /etc/lvm/backup
|
||||||
%dir /etc/lvm/archive
|
%dir /etc/lvm/archive
|
||||||
@ -104,7 +132,6 @@ rm -rf $RPM_BUILD_ROOT
|
|||||||
%config /etc/lvm/lvm.conf
|
%config /etc/lvm/lvm.conf
|
||||||
%config /etc/init.d/boot.lvm
|
%config /etc/init.d/boot.lvm
|
||||||
/var/adm/fillup-templates/sysconfig.lvm
|
/var/adm/fillup-templates/sysconfig.lvm
|
||||||
/usr/sbin/clvmd
|
|
||||||
/sbin/fsadm
|
/sbin/fsadm
|
||||||
/sbin/lvchange
|
/sbin/lvchange
|
||||||
/sbin/lvconvert
|
/sbin/lvconvert
|
||||||
@ -150,14 +177,9 @@ rm -rf $RPM_BUILD_ROOT
|
|||||||
/sbin/vgs
|
/sbin/vgs
|
||||||
/sbin/vgscan
|
/sbin/vgscan
|
||||||
/sbin/vgsplit
|
/sbin/vgsplit
|
||||||
/%_lib/libdevmapper-event-lvm2mirror.so
|
|
||||||
/%_lib/libdevmapper-event-lvm2mirror.so.2.02
|
/%_lib/libdevmapper-event-lvm2mirror.so.2.02
|
||||||
/%_lib/libdevmapper-event-lvm2snapshot.so
|
|
||||||
/%_lib/libdevmapper-event-lvm2snapshot.so.2.02
|
/%_lib/libdevmapper-event-lvm2snapshot.so.2.02
|
||||||
/%_lib/liblvm2cmd.so
|
|
||||||
/%_lib/liblvm2cmd.so.2.02
|
/%_lib/liblvm2cmd.so.2.02
|
||||||
/%_lib/liblvm2clusterlock.so
|
|
||||||
/%_lib/liblvm2clusterlock.so.2.02
|
|
||||||
%{_mandir}/man8/clvmd.8.gz
|
%{_mandir}/man8/clvmd.8.gz
|
||||||
%{_mandir}/man5/lvm.conf.5.gz
|
%{_mandir}/man5/lvm.conf.5.gz
|
||||||
%{_mandir}/man8/lvchange.8.gz
|
%{_mandir}/man8/lvchange.8.gz
|
||||||
@ -204,6 +226,13 @@ rm -rf $RPM_BUILD_ROOT
|
|||||||
%{_mandir}/man8/vgsplit.8.gz
|
%{_mandir}/man8/vgsplit.8.gz
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed Apr 30 2008 hare@suse.de
|
||||||
|
- Fixup build errors
|
||||||
|
* Wed Apr 30 2008 xwhu@suse.de
|
||||||
|
- Cleanup clvmd code on openais stack to make it work
|
||||||
|
- Split clvmd into a separate package (bnc#384708)
|
||||||
|
* Wed Apr 23 2008 xwhu@suse.de
|
||||||
|
- Change async lock primitives to sync
|
||||||
* Wed Apr 23 2008 xwhu@suse.de
|
* Wed Apr 23 2008 xwhu@suse.de
|
||||||
- Fix build aginst beta
|
- Fix build aginst beta
|
||||||
definition of PIPE_BUF is missing
|
definition of PIPE_BUF is missing
|
||||||
|
Loading…
Reference in New Issue
Block a user