From b4ee00356b5adfe105605b8cab9667e216210bfe Mon Sep 17 00:00:00 2001 From: Alasdair Kergon Date: Mon, 21 Jun 2010 15:56:57 +0000 Subject: Various cleanups following recent commits. --- WHATS_NEW | 16 ++++++++------ daemons/clvmd/clvmd-cman.c | 29 +++++-------------------- daemons/clvmd/clvmd-command.c | 26 ++++++----------------- daemons/clvmd/clvmd-common.h | 33 ++++++++++++++++++++++++++++ daemons/clvmd/clvmd-corosync.c | 41 ++++++++--------------------------- daemons/clvmd/clvmd-gulm.c | 12 ++--------- daemons/clvmd/clvmd-openais.c | 25 +--------------------- daemons/clvmd/clvmd-singlenode.c | 16 +++++--------- daemons/clvmd/clvmd.c | 46 +++++++++++++--------------------------- daemons/clvmd/lvm-functions.c | 26 +++-------------------- daemons/clvmd/refresh_clvmd.c | 16 ++++---------- daemons/clvmd/tcp-comms.c | 11 +--------- lib/log/log.h | 2 -- man/dmeventd.8.in | 28 ++++++++++++------------ man/lvextend.8.in | 6 +++--- man/lvmconf.8.in | 22 +++++++++---------- man/lvreduce.8.in | 8 +++---- man/lvresize.8.in | 36 +++++++++++++++---------------- 18 files changed, 143 insertions(+), 256 deletions(-) create mode 100644 daemons/clvmd/clvmd-common.h diff --git a/WHATS_NEW b/WHATS_NEW index 0e96f606..e5abcb18 100644 --- a/WHATS_NEW +++ b/WHATS_NEW @@ -1,16 +1,18 @@ Version 2.02.68 - =============================== - Add workaround for clvmd -S (socket closed too early and server drops the command). + Sleep to workaround clvmd -S race: socket closed early and server drops cmd. Use early udev synchronisation and update of dev nodes for clustered mirrors. - Unneeded kdev_t.h reference causing harm for cmirrord on some archs. - Add man pages for lvmconf and unsupported lvmsadc and lvmsar tools. - Fix exit code when requesting help using documented -o help option. + Remove incorrect inclusion of kdev_t.h from cmirrord/functions.h. + Add man pages for lvmconf and non-existent lvmsadc and lvmsar tools. + Exit successfully when using -o help (but not -o +help) with LVM reports. Do not use internal DLM lock definitions in generic LVM2 clvmd code. Add dmeventd man page. - Update lvresize/extend/reduce manpages with --nofsck, --resizefs options. + Add --force, --nofsck and --resizefs to lvresize/extend/reduce man pages. Fix lvm2cmd example in documentation. - Allow use of lvm2app and lvm2cmd headers in C++ mode. - Fix wrong lvm path creation from configure introduced in previous release. + Allow use of lvm2app and lvm2cmd headers in C++ code. + Remove some unused #includes from clvmd files. + Use #include "" for libdevmapper.h and configure.h throughout tree. + Fix 'make exec_prefix' with LVM_PATH / DMEVENTD_PATH. (2.02.67) Fix segfault in clvmd -R if no response from daemon received. Version 2.02.67 - 4th June 2010 diff --git a/daemons/clvmd/clvmd-cman.c b/daemons/clvmd/clvmd-cman.c index 1d37ca1b..52da2acb 100644 --- a/daemons/clvmd/clvmd-cman.c +++ b/daemons/clvmd/clvmd-cman.c @@ -17,38 +17,19 @@ * CMAN communication layer for clvmd. */ -#define _GNU_SOURCE -#define _FILE_OFFSET_BITS 64 +#include "clvmd-common.h" -#include "configure.h" #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include "libdevmapper.h" -#include #include "clvmd-comms.h" #include "clvm.h" -#include "lvm-logging.h" #include "clvmd.h" #include "lvm-functions.h" +#include + +#include + #define LOCKSPACE_NAME "clvmd" struct clvmd_node diff --git a/daemons/clvmd/clvmd-command.c b/daemons/clvmd/clvmd-command.c index 04b4632f..3500ca5d 100644 --- a/daemons/clvmd/clvmd-command.c +++ b/daemons/clvmd/clvmd-command.c @@ -50,32 +50,18 @@ */ -#define _GNU_SOURCE -#define _FILE_OFFSET_BITS 64 +#include "clvmd-common.h" -#include "configure.h" #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include "libdevmapper.h" -#include "locking.h" -#include "lvm-logging.h" -#include "lvm-functions.h" #include "clvmd-comms.h" #include "clvm.h" #include "clvmd.h" +#include "lvm-functions.h" + +#include "locking.h" + +#include extern debug_t debug; extern struct cluster_ops *clops; diff --git a/daemons/clvmd/clvmd-common.h b/daemons/clvmd/clvmd-common.h new file mode 100644 index 00000000..a94edd41 --- /dev/null +++ b/daemons/clvmd/clvmd-common.h @@ -0,0 +1,33 @@ +/* + * Copyright (C) 2010 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 + */ + +/* + * This file must be included first by every clvmd source file. + */ +#ifndef _LVM_CLVMD_COMMON_H +#define _LVM_CLVMD_COMMON_H + +#include "configure.h" + +#define _GNU_SOURCE +#define _FILE_OFFSET_BITS 64 + +#include "libdevmapper.h" + +#include "lvm-logging.h" + +#include +#include + +#endif diff --git a/daemons/clvmd/clvmd-corosync.c b/daemons/clvmd/clvmd-corosync.c index 347e431c..cfe71502 100644 --- a/daemons/clvmd/clvmd-corosync.c +++ b/daemons/clvmd/clvmd-corosync.c @@ -17,46 +17,23 @@ * and lock manager. */ -#define _GNU_SOURCE -#define _FILE_OFFSET_BITS 64 +#include "clvmd-common.h" -#include "configure.h" #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include "libdevmapper.h" -#include +#include "clvm.h" +#include "clvmd-comms.h" +#include "clvmd.h" +#include "lvm-functions.h" + +#include "locking.h" + #include #include #include #include -#include "locking.h" -#include "lvm-logging.h" -#include "clvm.h" -#include "clvmd-comms.h" -#include "lvm-functions.h" -#include "clvmd.h" +#include /* Timeout value for several corosync calls */ #define LOCKSPACE_NAME "clvmd" diff --git a/daemons/clvmd/clvmd-gulm.c b/daemons/clvmd/clvmd-gulm.c index 721e7be0..35610041 100644 --- a/daemons/clvmd/clvmd-gulm.c +++ b/daemons/clvmd/clvmd-gulm.c @@ -24,35 +24,27 @@ * on the cluster nodes. That is done in tcp-comms.c */ -#include "configure.h" +#include "clvmd-common.h" + #include -#include #include #include #include -#include #include #include #include -#include -#include #include #include #include -#include #include #include -#include -#include #include #include #include -#include "libdevmapper.h" #include #include #include "locking.h" -#include "lvm-logging.h" #include "clvm.h" #include "clvmd-comms.h" #include "lvm-functions.h" diff --git a/daemons/clvmd/clvmd-openais.c b/daemons/clvmd/clvmd-openais.c index 57449954..fc98b50c 100644 --- a/daemons/clvmd/clvmd-openais.c +++ b/daemons/clvmd/clvmd-openais.c @@ -17,33 +17,11 @@ * and lock manager. */ -#define _GNU_SOURCE -#define _FILE_OFFSET_BITS 64 +#include "clvmd-common.h" -#include "configure.h" #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include #include -#include -#include "libdevmapper.h" #include #include @@ -52,7 +30,6 @@ #include #include "locking.h" -#include "lvm-logging.h" #include "clvm.h" #include "clvmd-comms.h" #include "lvm-functions.h" diff --git a/daemons/clvmd/clvmd-singlenode.c b/daemons/clvmd/clvmd-singlenode.c index cbaf5dc9..ec98f2cb 100644 --- a/daemons/clvmd/clvmd-singlenode.c +++ b/daemons/clvmd/clvmd-singlenode.c @@ -12,26 +12,20 @@ * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -#define _GNU_SOURCE -#define _FILE_OFFSET_BITS 64 - -#include "configure.h" -#include -#include -#include -#include -#include -#include "libdevmapper.h" +#include "clvmd-common.h" #include #include "locking.h" -#include "lvm-logging.h" #include "clvm.h" #include "clvmd-comms.h" #include "lvm-functions.h" #include "clvmd.h" +#include +#include +#include + static const char SINGLENODE_CLVMD_SOCKNAME[] = "\0singlenode_clvmd"; static int listen_fd = -1; diff --git a/daemons/clvmd/clvmd.c b/daemons/clvmd/clvmd.c index 5986cdd6..edb134f2 100644 --- a/daemons/clvmd/clvmd.c +++ b/daemons/clvmd/clvmd.c @@ -17,44 +17,28 @@ * CLVMD: Cluster LVM daemon */ -#define _GNU_SOURCE -#define _FILE_OFFSET_BITS 64 - -#include "configure.h" -#include "libdevmapper.h" +#include "clvmd-common.h" #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#ifdef HAVE_COROSYNC_CONFDB_H -#include -#endif #include "clvmd-comms.h" -#include "lvm-functions.h" #include "clvm.h" -#include "lvm-version.h" #include "clvmd.h" +#include "lvm-functions.h" +#include "lvm-version.h" #include "refresh_clvmd.h" -#include "lvm-logging.h" + +#ifdef HAVE_COROSYNC_CONFDB_H +#include +#endif + +#include +#include +#include +#include +#include +#include +#include #ifndef TRUE #define TRUE 1 diff --git a/daemons/clvmd/lvm-functions.c b/daemons/clvmd/lvm-functions.c index ff44a0ff..81287284 100644 --- a/daemons/clvmd/lvm-functions.c +++ b/daemons/clvmd/lvm-functions.c @@ -13,28 +13,9 @@ * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -#define _GNU_SOURCE -#define _FILE_OFFSET_BITS 64 +#include "clvmd-common.h" -#include "configure.h" #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include "libdevmapper.h" #include "lvm-types.h" #include "clvm.h" @@ -45,14 +26,13 @@ /* LVM2 headers */ #include "toolcontext.h" #include "lvmcache.h" -#include "lvm-logging.h" #include "lvm-globals.h" #include "activate.h" -#include "locking.h" #include "archiver.h" -#include "defaults.h" #include "memlock.h" +#include + static struct cmd_context *cmd = NULL; static struct dm_hash_table *lv_hash = NULL; static pthread_mutex_t lv_hash_lock; diff --git a/daemons/clvmd/refresh_clvmd.c b/daemons/clvmd/refresh_clvmd.c index c1c3aa6f..c3cae35b 100644 --- a/daemons/clvmd/refresh_clvmd.c +++ b/daemons/clvmd/refresh_clvmd.c @@ -17,22 +17,14 @@ * Send a command to a running clvmd from the command-line */ -#define _GNU_SOURCE -#define _FILE_OFFSET_BITS 64 +#include "clvmd-common.h" + +#include "clvm.h" +#include "refresh_clvmd.h" -#include "configure.h" #include #include #include -#include -#include -#include "libdevmapper.h" -#include -#include -#include - -#include "clvm.h" -#include "refresh_clvmd.h" typedef struct lvm_response { char node[255]; diff --git a/daemons/clvmd/tcp-comms.c b/daemons/clvmd/tcp-comms.c index 48c47f16..5f865566 100644 --- a/daemons/clvmd/tcp-comms.c +++ b/daemons/clvmd/tcp-comms.c @@ -20,31 +20,22 @@ * It can also make outgoing connnections to the other clvmd nodes. */ -#define _GNU_SOURCE -#define _FILE_OFFSET_BITS 64 +#include "clvmd-common.h" -#include "configure.h" #include -#include #include #include #include -#include #include #include -#include -#include #include #include -#include #include #include -#include #include #include #include #include -#include "libdevmapper.h" #include "clvm.h" #include "clvmd-comms.h" diff --git a/lib/log/log.h b/lib/log/log.h index db09630d..10f34be7 100644 --- a/lib/log/log.h +++ b/lib/log/log.h @@ -16,8 +16,6 @@ #ifndef _LVM_LOG_H #define _LVM_LOG_H -#include - /* * printf()-style macros to use for messages: * diff --git a/man/dmeventd.8.in b/man/dmeventd.8.in index 956982ec..7e7fdcf8 100644 --- a/man/dmeventd.8.in +++ b/man/dmeventd.8.in @@ -3,29 +3,28 @@ dmeventd \- Device-mapper event daemon .SH SYNOPSIS .B dmeventd -[\-V] [\-d] [\-f] [\-h] +[\-V] [\-?] .SH DESCRIPTION dmeventd is the event monitoring daemon for device-mapper devices. -Plugins are supported. - -.br -LVM plugins: +Library plugins can register and carry out actions triggered when +particular events occur. +.SH +LVM PLUGINS .TP -Snapshot: monitor the filling of snapshot and emits a warning through -syslog, when the use of snapshot exceedes 80%. -The warning is repeated when 85%, 90% and 95% of the snapshot are filled. -(see \fBlvm.conf\fP) +.I Mirror +Attempts to handle device failure automatically. See \fBlvm.conf\fP). .TP -Mirror: attempts to recover from failures (see \fBlvm.conf\fP). +.I Snapshot +Monitors how full a snapshot is becoming and emits a warning to +syslog when it exceeds 80% full. +The warning is repeated when 85%, 90% and 95% of the snapshot is filled. +See \fBlvm.conf\fP. .SH OPTIONS .TP -.I \-V -Show version of dmeventd. -.TP .I \-d Repeat from 1 to 3 times (-d, -dd, -ddd) to increase the detail of debug messages sent to syslog. @@ -36,6 +35,9 @@ Don't fork, run in the foreground. .TP .I \-h, \-? Show help information. +.TP +.I \-V +Show version of dmeventd. .SH SEE ALSO .BR lvm (8), diff --git a/man/lvextend.8.in b/man/lvextend.8.in index 8f409ab3..0b273ab7 100644 --- a/man/lvextend.8.in +++ b/man/lvextend.8.in @@ -65,7 +65,7 @@ use a single value throughout. StripeSize must be 2^n (n = 2 to 9) .TP .I \-f, \-\-force -Force size extension without any question. +Proceed with size extension without prompting. .TP .I \-n, \-\-nofsck Do not perform fsck before extending filesystem when filesystem @@ -73,8 +73,8 @@ requires it. You may need to use \fB--force\fR to proceed with this option. .TP .I \-r, \-\-resizefs -Resize underlying filesystem together with logical volume size. -\fBfsadm\fR tool is used for filesystem resize. +Resize underlying filesystem together with the logical volume using +\fBfsadm\fR(8). .SH Examples "lvextend -L +54 /dev/vg01/lvol10 /dev/sdk3" tries to extend the size of that logical volume by 54MB on physical volume /dev/sdk3. diff --git a/man/lvmconf.8.in b/man/lvmconf.8.in index c966f940..fb3d6107 100644 --- a/man/lvmconf.8.in +++ b/man/lvmconf.8.in @@ -6,33 +6,31 @@ .SH "SYNOPSIS" .B lvmconf -[\-\-enable-cluster] [\-\-disable-cluster] -[\-\-lockinglibdir ] -[\-\-lockinglib ] +[\-\-enable-cluster] [\-\-file ] +[\-\-lockinglib ] +[\-\-lockinglibdir ] .SH "DESCRIPTION" .B lvmconf -is a helper tool to modify cluster locking in \fBlvm.conf\fP(5). +is a script that modifies the locking configuration in an lvm configuration file. See \fBlvm.conf\fP(5). .SH "OPTIONS" .TP .BR \-\-disable-cluster -Set the default non-cluster \fBlocking_type\fR. +Set \fBlocking_type\fR to the default non-clustered type. .TP .BR \-\-enable-cluster -Set a cluster-wide \fBlocking_type\fR available on the system. +Set \fBlocking_type\fR to the default clustered type on this system. .TP -.BR \-\-lockinglibdir " " \fI\fR -Set \fBlocking_dir\fR directory where LVM2 places its files locks. +.BR \-\-file " " \fI\fR +Apply the changes to \fBconfigfile\fR instead of the default \fB#DEFAULT_SYS_DIR#/lvm.conf\fR. .TP .BR \-\-lockinglib " " \fI\fR -Set external \fBlocking_library\fR locking library to load. +Set external \fBlocking_library\fR locking library to load if an external locking type is used. .TP -.BR \-\-file " " \fI\fR -Use non-default \fBconfigfile\fR instead of \fB#DEFAULT_SYS_DIR#/lvm.conf\fR. - +.BR \-\-lockinglibdir " " \fI\fR .SH FILES .I #DEFAULT_SYS_DIR#/lvm.conf diff --git a/man/lvreduce.8.in b/man/lvreduce.8.in index 5d55b5cf..fc772233 100644 --- a/man/lvreduce.8.in +++ b/man/lvreduce.8.in @@ -37,7 +37,7 @@ be a multiple of the number of stripes. See \fBlvm\fP for common options. .TP .I \-f, \-\-force -Force size reduction without any question. +Force size reduction without prompting even when it may cause data loss. .TP .I \-\-noudevsync Disable udev synchronisation. The @@ -70,11 +70,11 @@ an absolute size. .I \-n, \-\-nofsck Do not perform fsck before resizing filesystem when filesystem requires it. You may need to use \fB--force\fR to proceed with -this option. Note: using this option is dangerous. +this option. .TP .I \-r, \-\-resizefs -Resize underlying filesystem together with logical volume size. -\fBfsadm\fR tool is used for filesystem resize. +Resize underlying filesystem together with the logical volume using +\fBfsadm\fR(8). .SH Example "lvreduce -l -3 vg00/lvol1" reduces the size of logical volume lvol1 in volume group vg00 by 3 logical extents. diff --git a/man/lvresize.8.in b/man/lvresize.8.in index a2883047..677b2db3 100644 --- a/man/lvresize.8.in +++ b/man/lvresize.8.in @@ -29,12 +29,8 @@ volume use .SH OPTIONS See \fBlvm\fP for common options. .TP -.I \-\-noudevsync -Disable udev synchronisation. The -process will not wait for notification from udev. -It will continue irrespective of any possible udev processing -in the background. You should only use this if udev is not running -or has rules that ignore the devices LVM2 creates. +.I \-f, \-\-force +Force resize without prompting even when it may cause data loss. .TP .I \-l, \-\-extents [+|-]LogicalExtentsNumber[%{VG|LV|PVS|FREE|ORIGIN}] Change or set the logical volume size in units of logical extents. @@ -48,6 +44,22 @@ suffix %PVS, as a percentage of the remaining free space in the Volume Group with the suffix %FREE, or (for a snapshot) as a percentage of the total space in the Origin Logical Volume with the suffix %ORIGIN. .TP +.I \-n, \-\-nofsck +Do not perform fsck before resizing filesystem when filesystem +requires it. You may need to use \fB--force\fR to proceed with +this option. +.TP +.I \-\-noudevsync +Disable udev synchronisation. The +process will not wait for notification from udev. +It will continue irrespective of any possible udev processing +in the background. You should only use this if udev is not running +or has rules that ignore the devices LVM2 creates. +.TP +.I \-r, \-\-resizefs +Resize underlying filesystem together with the logical volume using +\fBfsadm\fR(8). +.TP .I \-L, \-\-size [+|-]LogicalVolumeSize[bBsSkKmMgGtTpPeE] Change or set the logical volume size in units of megabytes. A size suffix of M for megabytes, @@ -70,18 +82,6 @@ Not applicable to LVs using the original metadata LVM format, which must use a single value throughout. .br StripeSize must be 2^n (n = 2 to 9) -.TP -.I \-f, \-\-force -Force resize without any question. -.TP -.I \-n, \-\-nofsck -Do not perform fsck before resizing filesystem when filesystem -requires it. You may need to use \fB--force\fR to proceed with -this option. -.TP -.I \-r, \-\-resizefs -Resize underlying filesystem together with logical volume size. -\fBfsadm\fR tool is used for filesystem resize. .SH Examples .br "lvresize -L+16M vg1/lv1 /dev/sda:0-1 /dev/sdb:0-1" -- cgit