summaryrefslogtreecommitdiffstats
path: root/daemons/dmeventd/plugins/mirror
Commit message (Collapse)AuthorAgeFilesLines
* Remove some whitespaces.Milan Broz2012-03-101-1/+1
| | | | (test commit)
* Reflect new file locations, include file updates etc.Alasdair Kergon2012-02-281-1/+1
|
* The lvmetad client-side integration. Only active when use_lvmetad = 1 is set inPetr Rockai2012-02-231-1/+1
| | | | lvm.conf *and* lvmetad is running.
* Add boundary test for number of mirror devs and logsZdenek Kabelac2012-02-081-2/+5
| | | | | | | As atoi may return negative value - test for both limits. Test log_args for limits before calling alloca(). Code from dmeventd mirror plugin should probably share same code as we have in mirrored.c.
* Use new dmeventd_lvm2_command function in dmeventd plugins.Zdenek Kabelac2011-12-221-24/+11
| | | | | | | For snapshot, prepare whole command in front into private buffer. Add also some missing '\n' for syslog messages. For raid and mirror only convert creation of command line string. This should avoid any unbound growth of mempool for dm_split_names.
* Drop cleanup of .exported_symbols_generated in DISTCLEAN_TARGETSZdenek Kabelac2011-09-241-3/+1
| | | | | Makefile cosmetics - since .exported_symbols_generated in cleardir: target via make.tmpl, there is no need to set them in DISTCLEAN_TARGETS.
* Add missing cleanup rule for generated .exported_symbols_generatedZdenek Kabelac2010-09-301-0/+2
|
* Remove superfluous NULL pointer tests before dm_free from dmeventd.Alasdair Kergon2010-08-161-4/+2
|
* Use __attribute__ consistently throughout.Alasdair Kergon2010-07-091-10/+10
|
* Use -d to control level of messages sent to syslog by dmeventd.Alasdair Kergon2010-05-141-1/+2
| | | | | Change -d to -f to run dmeventd in foreground. (mornfall)
* Plugins do not use pthread or lvm2cmd directly.Zdenek Kabelac2010-05-111-1/+1
| | | | | Plugins are using pthread and lvm2cmd libraries indirectly through devmapper-event-lvm2, so link only with libraries used by them.
* Headerfile <pthread.h> is no longer needed hereZdenek Kabelac2010-05-111-2/+0
|
* Install plugins to subdirsZdenek Kabelac2010-05-061-1/+1
| | | | | | | | | | | Target install_dm_plugin installs files to libdir/device-mapper. Target install_lvm2_plugin installs files to libdir/lvm2. Both targets creates relative links to libdir to keep the code compatible with current dlopen handling. Once we will be able to read plugins from subdir, links could be removed.
* INSTALL rules updatesZdenek Kabelac2010-04-091-9/+2
| | | | | | | | | | | | | | | | | | | | | | | | | Patch is inspired by Debian's extra patch. - removes OWNER & GROUP make vars they are parts of INSTALL command. - adds INSTALL_PROGRAM for executable, uses $(INSTALL) - adds INSTALL_DATA for non-executable data, uses ($INSTALL) - adds INSTALL_WDATA for writable non-executable data, uses ($INSTALL) - adds configure option --enable-write_install - to support installatin of writable files used by distribution - replaces usage of ifeq @LIB_SUFFIX@ with $(LIB_SUFFIX) - installs .a files from static builds without executable flag - installs .a files to $(usrlibdir) instead of $(libdir) - installs all static binaries to $(staticdir) - create .so links for devel package in $(usrlibdir) instead of $(libdir) - makes .so and .so.LIB_VERSION files within builddir - removes VERSIONED_SHLIB and created versioned LIB_SHARED automagicaly - install LIB_SHARED via install_lib_shared target - install plugins via install_lib_shared_plugin target - prints whole 'install' command during installation instead of less informative "Installing $(something) $(somewhere)" - install multiple man pages with one INSTALL command - use DISTCLEAN_TARGETS instead of creating multiple distclean targets
* Use vpath instead of VPATH.Zdenek Kabelac2010-04-091-1/+0
| | | | | | | | | | | | | | | Usage of VPATH makes troubles when used within $(builddir). Not only source files are being found through VPATH, but targets as well. (make --debug=v) Thus if user builds the code in $(srcdir) and also in some $(builddir) he gets mangled results as some generated files (i.e. .export.sym) are 'reused' from $(srcdir) instead of $(builddir). This patch switches to use vpath were we could explicitly name suffixes that should be looked via vpath - we must take care, we do not generate files with these suffixes: .c, .in, .po, .exported_symbols
* Updated syslog messagesZdenek Kabelac2010-03-301-14/+14
| | | | Use our common '.' end format for syslog messages.
* Update cflow file generation - support build dir and use $(top_srcdir)Zdenek Kabelac2010-03-291-3/+7
| | | | | | | to obtain sources. Create make.tmpl target for simplier generation of cflow files with the help of CFLOW_LIST, CFLOW_LIST_TARGET, CFLOW_TARGET. Still cflow usage is not perfect.
* Add ability to create mirrored logs for mirror LVs.Jonathan Earl Brassow2010-03-261-0/+5
| | | | | | | | | | This check-in enables the 'mirrored' log type. It can be specified by using the '--mirrorlog' option as follows: #> lvcreate -m1 --mirrorlog mirrored -L 5G -n lv vg I've also included a couple updates to the testsuite. These updates include tests for the new log type, and some fixes to some of the *lvconvert* tests.
* Pthread linking changeZdenek Kabelac2010-03-041-1/+1
| | | | | | | | | Create new substituted variable PTHREAD_LIBS and link this library only with tools/libs which really needs it - i.e. dmeventd. Check for libpthread only for builds with clvmd or dmeventd. Remove variable LIB_PTHREAD
* Use consistently $() instead of ${} for all Makefile variables,Zdenek Kabelac2010-03-041-2/+2
| | | | thought both usage forms are correct.
* Remove pointless versioned symlinks to dmeventd plugin libraries.Alasdair Kergon2010-02-021-2/+1
|
* Fix syslog prefix in the first message (dmeventd->lvm).Milan Broz2010-01-221-1/+2
|
* Add libdevmapper-event-lvm2.so to serialise dmeventd plugin liblvm2cmd use.Alasdair Kergon2010-01-212-98/+17
|
* Remove empty "repaired" devices if empty in lvconvert.Milan Broz2010-01-061-5/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | The logic was that lvconvert repair volumes, marking PV as MISSING and following vgreduce --removemissing removes these missing devices. Previously dmeventd mirror DSO removed all LV and PV from VG by simply relying on vgreduce --removemissing --force. Now, there are two subsequent calls: lvconvert --repair --use-policies vgreduce --removemissing So the VG is locked twice, opening space for all races between other running lvm processes. If the PV reappears with old metadata on it (so the winner performs autorepair, if locking VG for update) the situation is even worse. Patch simply adds removemissing PV functionality into lvconcert BUT ONLY if running with --repair and --use-policies and removing only these empty missing PVs which are involved in repair. (This combination is expected to run only from dmeventd.)
* Log failure type and recognise type 'F' (flush) in dmeventd mirror plugin.Alasdair Kergon2009-11-251-10/+39
|
* Only announce mirror monitoring to syslog after initialisation succeeds.Petr Rockai2009-10-221-2/+2
|
* Extra libs must be appended, not defined first.Alasdair Kergon2009-10-091-1/+2
|
* More makefile cleaning up and fixing. (gentoo)Alasdair Kergon2009-10-051-1/+2
|
* Allow for a build directory separate from the source.Alasdair Kergon2009-10-021-2/+3
|
* Fix dmeventd _temporary_log_fn parameters. (2.02.50)Alasdair Kergon2009-09-171-1/+3
|
* pre-release tidy upAlasdair Kergon2009-06-301-2/+3
|
* - Ignore suspended devices during repair (Milan).Petr Rockai2009-06-151-0/+6
| | | | | - Call vgreduce --removemissing (without --force) automatically to clean up bad PVs (Milan).
* Use lvconvert --repair instead of vgreduce in mirror dmeventd DSO (mornfall)Milan Broz2009-06-041-1/+1
| | | | Introduce lvconvert --use_policies (mornfall)
* Revert:Alasdair Kergon2009-05-201-1/+1
| | | | | | | | Use lvconvert --repair in dmeventd mirror DSO. for now. It replaces bad behaviour in one set of circumstances with bad behaviour in a different set. We think the behaviour needs to be more configurable.
* Use lvconvert --repair in dmeventd DSO (mornfall)Milan Broz2009-05-191-1/+1
| | | | | | | | | | | | | | | | This means two things: 1) Non-mirrored LVs will be no longer affected by mirror monitoring. (Before, if you had a LV that went partially missing on a VG where a mirror leg failed, this LV would be removed automatically by dmeventd... Probably not an unrecoverable dataloss bug, but still quite unpleasant.) 2) If enough parallel PV space is available at the time of the mirror failure, the failed devices will be automatically replaced using this spare space. Which (and whether) free space may be used is still not configurable, but is a planned feature. Since it is relatively easy to undo the action by converting the mirror manually, I don't consider this to be a showstopper. In fact, I think the compromise is much better than what we have now.
* Introduce lvm2_install target.Milan Broz2009-05-111-1/+3
| | | | | | | | | | | | | | | Buildsystem support device-mapper only install, but generic install tagret includes both dm+lvm2. For distribution which uses separate install_device-mapper, there is no way how to install lvm2 only (so after installing lvm2 for packaging purposes built system must remove installed device-mapper files). Fix it by allowing lvm2_install target, similarily like install_cluster for clvmd. (install = install_device-mapper + install_lvm2)
* Right, a simple build (without options) is working again.Alasdair Kergon2008-11-031-0/+2
|
* Fix mirror DSO to call vgreduce with proper parameters.Milan Broz2008-09-251-1/+1
|
* Fix dmeventd regression where mirror and snapshot monitoring librariesPetr Rockai2008-07-091-1/+1
| | | | | | | | | | | failed to link against liblvm2cmd. Dmeventd DSOs *require* lvm2cmd to be linked in. For the future: 1) AC_SUBST does not create Makefile variables, only @foo@-style substitutions 2) When using `test', whitespace around `=' is essential: test a=b is true, as is test a=a
* avoid link failure when configuring without --enable-cmdlibJim Meyering2008-06-231-3/+2
| | | | | | | * configure.in (LVM2CMD_LIB): Define if --enable-cmdlib. * dmeventd/mirror/Makefile.in (CLDFLAGS): Use $(LVM2CMD_LIB) rather than hard-coding -llvm2cmd. * dmeventd/snapshot/Makefile.in (CLDFLAGS): Likewise.
* Fix mirror log name construction during lvconvert. (2.02.30)Alasdair Kergon2008-01-311-7/+15
| | | | | | Make monitor_dev_for_events recurse through the stack of LVs. Clean up some more compiler warnings. Add mirror names test script.
* Correct typo in comments: s/is part of the LVM2/is part of LVM2/.Jim Meyering2007-09-211-1/+1
| | | | | | | Signed-off-by: Jim Meyering <jim@meyering.net> Author: Jim Meyering <jim@meyering.net>
* Change some #include lines to search only standard system directories.Alasdair Kergon2007-04-271-2/+2
|
* dmeventd mirror sets ignore_suspended_devices and avoids scanning mirrors.Alasdair Kergon2007-01-251-1/+1
|
* Add private variable to dmeventd shared library interface.Alasdair Kergon2007-01-231-3/+6
|
* Some libdevmapper-event interface changes.Alasdair Kergon2007-01-151-1/+1
|
* Report dmeventd mirror monitoring status.Alasdair Kergon2007-01-121-6/+9
|
* updated dmeventd interfaceAlasdair Kergon2007-01-111-25/+9
|
* fail if status args are missingAlasdair Kergon2007-01-111-3/+4
|
* Remove dmeventd mirror status line word limitAlasdair Kergon2007-01-111-37/+37
|