Alasdair Kergon
a2bfad1c29
Right, a simple build (without options) is working again.
2008-11-03 22:14:30 +00:00
Alasdair Kergon
22d7e60d0e
Accept locking fallback_to_* options in the global section as documented.
2008-10-24 01:16:16 +00:00
Alasdair Kergon
95d43e17b3
Improve the way VGs with PVs missing are handled so manual intervention
...
is required in fewer circumstances. (mornfall)
2008-09-19 06:42:00 +00:00
Milan Broz
91dcddbdf7
Do not scan for lvm1 entries in /proc if not running 2.4 kernel.
...
(LVM1 is only present in 2.4 kernel.)
2008-09-10 10:14:59 +00:00
Alasdair Kergon
5cd87d3d27
more cleanup
2008-05-09 19:26:58 +00:00
Alasdair Kergon
689d8a80b5
More P_ and V_ lock cleanup.
2008-05-09 18:45:15 +00:00
Alasdair Kergon
409725be24
Avoid unnecessary unlock attempts with LCK_CACHE pseudo-locks.
2008-05-08 18:35:58 +00:00
Milan Broz
867e9c51d4
Drop cached VG metadata before and after committing changes to it.
2008-04-15 14:46:19 +00:00
Alasdair Kergon
0170f7b42a
rename P_global to P_#global
2008-04-15 11:36:46 +00:00
Alasdair Kergon
74bb6ead95
Don't attempt remote metadata backups of non-clustered VGs. (2.02.29)
2008-04-14 19:49:12 +00:00
Dave Wysochanski
57cb22ff3c
Add vg_is_clustered() helper function.
...
Should be no functional change.
2008-04-10 17:09:32 +00:00
Alasdair Kergon
b4ad9a5d08
Use clustered mirror log with pvmove in clustered VGs, if available.
2008-04-09 12:56:34 +00:00
Milan Broz
194121760a
Update lvmcache VG lock state for all locking types now.
2008-04-07 19:17:29 +00:00
Alasdair Kergon
fefc655969
Add some basic internal VG lock validation.
2008-04-03 18:56:40 +00:00
Alasdair Kergon
1ddd4509dc
Some whitespace tidy-ups.
2008-01-30 14:00:02 +00:00
Alasdair Kergon
6af3f4f4cf
Use stack return macros throughout.
2008-01-30 13:19:47 +00:00
Patrick Caulfield
8c01179075
Tidy the clvmd backup code.
...
Move the backups inside the protection of the VG lock,
Don't backup if we have a suspended LV
Correct the vg_read() call
2007-12-05 13:17:18 +00:00
Patrick Caulfield
8f21c9a920
When we unlock a VG tell the clvmds to see if a backup of the metadata needs
...
to be done.
2007-12-04 15:39:26 +00:00
Alasdair Kergon
d6e5e3d103
Decode cluster locking state in log message. (untested)
...
Change file locking state messages from debug to very verbose.
2007-11-16 21:16:20 +00:00
Alasdair Kergon
a01732ee9b
more vg_read lock fixes
2007-11-15 21:30:52 +00:00
Alasdair Kergon
590cfb77a5
define LCK_NONE for cases when vg_lock_and_read already holds lock
...
(temporary - library will use internal ref counting instead)
2007-11-15 02:55:22 +00:00
Bryn M. Reeves
ee79277774
Add is_orphan_vg() and change all hardcoded checks to use it.
2007-11-02 13:06:42 +00:00
Jim Meyering
c99204d370
Correct typo in comments: s/is part of the LVM2/is part of LVM2/.
...
Signed-off-by: Jim Meyering <jim@meyering.net>
Author: Jim Meyering <jim@meyering.net>
2007-09-21 10:16:45 +00:00
Patrick Caulfield
4cd97611e5
Locking P_global causes a cache refresh.
2007-08-23 15:43:20 +00:00
Alasdair Kergon
da27380ab5
Introduce VG_GLOBAL lock type for vgscan/pvscan to trigger clvmd -R.
2007-08-23 15:02:26 +00:00
Alasdair Kergon
d080291150
Clean up numerous compiler warnings that crept in recently.
...
Remove several unused parameters from _allocate().
2007-08-22 14:38:18 +00:00
Alasdair Kergon
3f507a26fb
Fix inconsistent licence notices: executables are GPLv2; libraries LGPLv2.1.
2007-08-20 20:55:30 +00:00
Jim Meyering
7b6248983d
Remove create_dir function; use now-equivalent dm_create_dir instead.
...
* lib/misc/lvm-file.c (_create_dir_recursive, create_dir): Remove functions.
* lib/misc/lvm-file.h (create_dir): Remove declaration.
* lib/commands/toolcontext.c (create_toolcontext): s/create_dir/dm_create_dir/
* lib/format_text/archiver.c (archive, backup): Likewise.
* lib/format_text/format-text.c (_add_dir): Likewise.
* lib/locking/file_locking.c (init_file_locking): Likewise.
Patch by Jun'ichi Nomura.
2007-07-28 12:26:21 +00:00
Jim Meyering
fa28cea152
Introduce is_same_inode macro, now including a comparison of st_dev.
...
* lib/misc/lvm-file.h (is_same_inode): Define.
* lib/filters/filter-persistent.c (persistent_filter_dump): Use is_same_inode
in place of a direct st_ino-only comparison.
* lib/locking/file_locking.c (_release_lock, _lock_file): Likewise.
2007-07-20 15:22:46 +00:00
Jim Meyering
c8da1647a1
Don't leak a file descriptor in _lock_file when flock fails.
...
* lib/locking/file_locking.c (_lock_file): Close fd upon flock failure.
2007-07-20 12:12:52 +00:00
Petr Rockai
764858fa12
Make warnings go to stderr. Change log_warn to that effect, log_print
...
continues to send messages to stdout.
2007-06-28 17:33:44 +00:00
Alasdair Kergon
9daac5c178
pre-release
2007-06-15 20:46:04 +00:00
Petr Rockai
10e4254e7d
Allow keyboard interrupts in yes_no_prompt(). Add code to toollib.c
...
loops and to pvcreate.c, lvchange.c and lvresize.c to handle
interrupted prompts.
2007-06-15 10:11:14 +00:00
Patrick Caulfield
625a671189
Flag nolocking as a clustered locking module as we need to be able
...
to look at clustered LVs at clvmd startup
2007-03-13 14:59:21 +00:00
Alasdair Kergon
f813d41a76
Add some missing close() and fclose() return code checks.
...
Fix exit statuses of reporting tools (2.02.19).
2007-01-25 14:37:48 +00:00
Alasdair Kergon
f4bd12e8e9
register->monitor etc.
2007-01-19 22:21:45 +00:00
Patrick Caulfield
9dee30ff0e
Fix gulm operation of clvmd. including a hang when attempting to
...
exclusively lock an LV that is already locked no another node.
2006-12-11 14:00:26 +00:00
Alasdair Kergon
b9ba9ffad2
clvmd ia64 alignment fixes etc. (pjc)
2006-12-01 23:10:26 +00:00
Alasdair Kergon
ee68d715bf
Adjust some alignments for ia64 and sparc.
...
(Some of the changes are probably unnecessary.)
2006-11-30 23:11:42 +00:00
Alasdair Kergon
352a66f46f
Fall back to internal locking if external locking lib is missing or fails.
2006-10-14 16:37:54 +00:00
Alasdair Kergon
6e2babc2ce
When using local file locking, skip clustered VGs.
...
Add fallback_to_clustered_locking and fallback_to_local_locking parameters.
2006-09-02 01:18:17 +00:00
Alasdair Kergon
08e253bed1
lvm.static uses built-in cluster locking instead of external locking.
...
Don't attempt to load shared libraries if built statically.
2006-08-31 22:21:00 +00:00
Alasdair Kergon
b0b60fafd5
Move lvm_snprintf into libdevmapper.
2006-08-21 12:54:53 +00:00
Patrick Caulfield
da6cb15393
Fix "Unaligned access" when using clvm
...
bz#194626
2006-06-12 09:46:35 +00:00
Alasdair Kergon
608eedf88d
Fix lvcreate corelog validation.
...
Add --config for overriding most config file settings from cmdline.
Quote arguments when printing command line.
Remove linefeed from 'initialising logging' message.
Add 'Completed' debug message.
Don't attempt library exit after reloading config files.
Always compile with libdevmapper, even if device-mapper is disabled.
2006-05-16 16:48:31 +00:00
Alasdair Kergon
445dd17db3
Add --monitor to vgcreate and lvcreate to control dmeventd registration.
...
Propagate --monitor around cluster.
Filter LCK_NONBLOCK in clvmd lock_vg.
2006-05-12 19:16:48 +00:00
Alasdair Kergon
cff78a2577
fix compile
2006-05-12 13:33:22 +00:00
Alasdair Kergon
c99d0236a0
Propagate nosync flag around cluster.
2006-05-11 19:05:21 +00:00
Alasdair Kergon
ead252fee4
Add mirror_library description to example.conf.
...
More compile-time cleanup.
2006-05-11 17:58:58 +00:00
Alasdair Kergon
4dd1086805
more coverity fixes
2006-05-10 17:49:25 +00:00
Alasdair Kergon
45dca55fc8
Make SIZE_SHORT the default for display_size().
...
Fix some memory leaks in error paths found by coverity.
Use C99 struct initialisers.
Move DEFS into configure.h.
Clean-ups to remove miscellaneous compiler warnings.
2006-05-09 21:23:51 +00:00
Alasdair Kergon
70e45ad37b
Check for libsepol.
...
Add some cflow & scope support.
Separate out DEFS from CFLAGS.
Remove inlines and use unique function names.
2006-04-19 15:33:07 +00:00
Alasdair Kergon
113047e1a2
Suppress locking library load failure message if --ignorelockingfailure.
2006-04-03 18:43:55 +00:00
Alasdair Kergon
1273f179e8
Propagate partial mode around cluster.
2006-03-09 22:34:13 +00:00
Alasdair Kergon
67eb7723d6
Use hash, bitset, malloc, pool from libdevmapper.
2005-10-16 23:03:59 +00:00
Patrick Caulfield
e52f022026
clvmd no longer takes out locks for non-clusteed LVs,
...
and non-clustered LVs are only activated on the local node.
2005-08-16 08:25:09 +00:00
Alasdair Kergon
273857f914
Add clustered VG flag to LV lock requests.
2005-08-15 13:24:46 +00:00
Alasdair Kergon
a08b85dbc8
Change LV locking macros to take lv instead of lvid.
2005-08-15 12:00:04 +00:00
Alasdair Kergon
a0aedf299a
Prepare tools to support clustered mirrors.
2005-08-14 23:18:28 +00:00
Alasdair Kergon
99df4f892d
Basic support for mirrors.
2005-06-01 16:51:55 +00:00
Alasdair Kergon
cdd0d3351a
Add clustered attribute so vgchange can identify clustered VGs w/o locking.
2005-03-21 22:55:12 +00:00
Alasdair Kergon
701c05ce96
Tighten signal handlers.
2005-03-21 14:16:16 +00:00
Patrick Caulfield
32e175752c
Fix clvmd startup bug introduced in cman/gulm amalgamation. bz#145729
...
Improve reporting of node-specific locking errors so you'll get
somthing a little more helpfiul than "host is down" - it will now tell
you /which/ host it thinks is down.
2005-01-21 11:35:24 +00:00
Patrick Caulfield
8b170dc2bf
Fix off-by-one error in cluster_locking that could case read hangs.
2005-01-07 14:22:49 +00:00
Alasdair Kergon
c65d95bf29
Cluster-extension-only installation.
2004-08-18 18:57:40 +00:00
Alasdair Kergon
ebab0e91ee
Missing .exported_symbols
2004-06-24 08:16:09 +00:00
Alasdair Kergon
858a2b1b88
Add cluster support.
2004-06-24 08:02:38 +00:00
Alasdair Kergon
150b350d31
Add local activation support.
2004-06-16 17:13:41 +00:00
Alasdair Kergon
c7b4a53c0b
Add reset_fn to external_locking.
2004-05-18 21:57:24 +00:00
Alasdair Kergon
1f93ea0675
Revise internal locking semantics.
2004-05-05 12:03:07 +00:00
Alasdair Kergon
fc5c61cc8b
Begin to separate out segment types.
2004-05-04 21:25:57 +00:00
Alasdair Kergon
66ed5f82c4
Update copyright notices.
2004-03-30 19:35:44 +00:00
Alasdair Kergon
b1fda66caa
missing definition
2004-03-26 21:46:01 +00:00
Alasdair Kergon
1cbb70c992
indent
2004-03-26 21:07:30 +00:00
Alasdair Kergon
e06b39f882
move lock_lvs; add lock memlock code
2004-03-26 20:49:35 +00:00
Alasdair Kergon
989d14502d
Add locking flags + memlock option.
2004-03-26 20:17:11 +00:00
Alasdair Kergon
8703ca623f
rename config file vars & always use / as separator
2004-03-08 18:28:45 +00:00
Alasdair Kergon
5cbb893a3b
Fix support for PVs on read only devices. [Still must set LVs read only]
2003-11-21 19:54:40 +00:00
Alasdair Kergon
c7883fd093
Fit locking bits into 1 byte.
2003-11-06 17:08:18 +00:00
Alasdair Kergon
8449314da2
Another sync point - numerous fixes & clean ups.
2003-07-04 22:34:56 +00:00
Alasdair Kergon
a9672246f3
reset_locking()
2003-05-06 12:03:13 +00:00
Alasdair Kergon
373058a32a
Improve build robustness.
2003-04-15 13:24:42 +00:00
Alasdair Kergon
e8c4bf56fe
Tidy various pre-processing incl. making libdl optional.
2003-03-24 18:08:53 +00:00
Alasdair Kergon
580624fad6
Also lock memory during LV updates.
2003-01-03 21:10:28 +00:00
Alasdair Kergon
dd2157534b
Default stripesize 64k & config file setting for it;
...
Clear many compiler warnings (i386) & associated bugs - hopefully without
introducing too many new bugs:-) (Same exercise required for other archs.)
Default compilation has optimisation - or else use ./configure --enable-debug
2002-12-19 23:25:55 +00:00
Alasdair Kergon
81c44790d5
Refactoring.
2002-11-18 14:01:16 +00:00
Alasdair Kergon
f2fd4b8a1f
Don't let LVM2 access a VG if the original LVM driver appears to be using it.
2002-11-01 19:57:25 +00:00
Patrick Caulfield
247efdebdb
Rename lock_resource to file_lock_resource to avoid name clashes
2002-07-25 09:04:30 +00:00
Alasdair Kergon
778e846e96
Add --ignorelockingfailure
2002-07-10 20:43:32 +00:00
Alasdair Kergon
63875e7591
Merge with text format branch.
...
Lots of changes/very little testing so far => there'll be bugs!
Use 'vgcreate -M text' to create a volume group with its metadata stored
in text files. Text format metadata changes should be reasonably atomic,
with a (basic) automatic recovery mechanism if the system crashes while a
change is in progress.
Add a metadata section to lvm.conf to specify multiple directories if
you want (recommended) to keep multiple copies of the metadata (eg on
different filesystems).
e.g. metadata {
dirs = ["/etc/lvm/metadata1","/usr/local/lvm/metadata2"]
}
Plenty of refinements still in the pipeline.
2002-04-24 18:20:51 +00:00
Alasdair Kergon
6f448c5a38
Implement a no_locking module that *does* attempt activation.
2002-04-11 14:10:32 +00:00
Patrick Caulfield
8152f0d72c
Remove \n from log messages.
2002-04-10 15:49:47 +00:00
Patrick Caulfield
b93c66dc2d
Implement an external locking interface.
2002-04-08 16:04:50 +00:00
Patrick Caulfield
cef3841d73
Make lock type numbers match the DLM numbers in use, and move UNLOCK out
...
of the way.
2002-04-04 13:31:21 +00:00
Alasdair Kergon
3cd5e8a041
Rename LCK_NONE to LCK_UNLOCK
2002-04-04 11:18:45 +00:00
Alasdair Kergon
3634e12cce
Fix typo.
2002-03-25 18:50:37 +00:00
Alasdair Kergon
972241c74c
Review locking: block signals instead of ignoring them and restore state
...
afterwards; avoid race condition with unlink; add LCK_HOLD to process_each_vg.
2002-03-15 16:07:38 +00:00
Alasdair Kergon
427899ddce
o activate/reactivate merge
...
o unlocking macro
2002-03-11 15:08:39 +00:00
Alasdair Kergon
fc8b7efc6f
o Use new LCK_HOLD flag to indicate whether lock should be held on return
...
from lock_vol() - otherwise it now attempts to acquire the lock and then
immediately releases it.
o Extend the id field in struct logical_volume to hold VG uuid + LV uuid
for format1. This unique lvid can be used directly when calling lock_vol().
o Add the VG uuid to vgcache to make VG uuid lookups possible. (Another
step towards using them instead of VG names internally.)
2002-03-05 20:03:09 +00:00
Alasdair Kergon
73a88ab3d3
o Lock mechanism for LV activation
...
o #defines for common lock flag combinations
o Try out hyphens instead of colons in device-mapper names - does this
make messages containing filenames easier to read?
2002-02-27 12:26:41 +00:00