Jim Meyering
dacf86a12d
avoid compiler warning about cast in OFFSET_OF macro
...
* dmsetup/dmsetup.c (OFFSET_OF): Use an equivalent definition
that does not cast a pointer value to a narrower type.
2008-06-18 10:19:25 +00:00
Alasdair Kergon
dc868e56c9
Add --force to lvextend and lvresize.
2008-06-12 13:24:02 +00:00
Milan Broz
c8c24ccd23
Fix vgchange to not activate mirror leg and log volumes directly.
2008-06-12 11:49:46 +00:00
Jim Meyering
a639a1f2b9
break (rather than return) so we have only one point of return
...
* tools/toollib.c (process_each_segment_in_lv): Upon sigint_caught,
break rather than returning ret_max. No semantic change.
2008-06-11 15:02:52 +00:00
Dave Wysochanski
3a30d1db20
Fix return values for reporting commands when run with no PVs, LVs, or VGs.
...
The new error checking code caught some commands that were returning '0' as
an exit status for success. This is incorrect and resulted in a benign error
message displayed (see below). As of today, all commands should return a
value defined in lib/commands/errors.h (1-5). This results in an exit code of
0 on success, or > 0 on failure (as stated in the lvm.8 man page).
Before change:
1. Make sure no PVs are on the system
2. Run 'pvs'
Command failed with status code 0.
After change:
<no output>
2008-06-10 20:07:04 +00:00
Dave Wysochanski
a3678fa186
Add ommitted unlock_vg() call when sigint_caught() during vg processing.
...
Specific test case:
1. pvcreate /dev/loop1; vgcreate vg1 /dev/loop1; lvcreate -L 64M -n lv1 vg1
2. vgremove vg1 (will prompt user)
3. CTRL-C
Code will exit with:
Do you really want to remove volume group "vg2" containing 2 logical volumes? [y/n]:
Volume group "vg2" not removed
Command failed with status code 5.
Internal error: Volume Group vg2 was not unlocked
Device '/dev/loop1' has been left open.
After change:
Do you really want to remove volume group "vg2" containing 2 logical volumes? [y/n]:
Volume group "vg2" not removed
Command failed with status code 5.
2008-06-10 15:25:38 +00:00
Alasdair Kergon
aa76972385
Drop cached metadata for disappearing VG in vgmerge.
2008-06-06 19:32:35 +00:00
Alasdair Kergon
ec40d92889
post-release
2008-06-06 19:28:35 +00:00
Alasdair Kergon
db6056516e
change --prefixes to --nameprefixes
2008-06-06 18:53:08 +00:00
Alasdair Kergon
697e3bb2df
back out unnecessary changes for this release
2008-06-06 17:36:19 +00:00
Alasdair Kergon
167c1633f2
cache dropping needs to use old name not new
...
rename variable to reduce confusion
2008-06-06 16:13:35 +00:00
Alasdair Kergon
179b9822b4
Drop cached metadata when renaming a VG.
2008-06-06 13:04:44 +00:00
Alasdair Kergon
bdf8c02f80
Add missing deactivation after activation failure in lvcreate -Zy.
2008-06-05 13:38:30 +00:00
Alasdair Kergon
50fd61eb8d
suppress warning on silent failure with ECMD_PROCESSED
2008-06-03 17:48:13 +00:00
Alasdair Kergon
de24008109
In script-processing mode, stop if any command fails.
...
Warn if command exits with non-zero status code without a prior log_error.
2008-05-30 15:27:44 +00:00
Alasdair Kergon
ace5664e7d
Temporarily disable dmeventd mirror monitoring during lvchange --resync.
2008-05-21 14:10:11 +00:00
Alasdair Kergon
25fbec5be1
revert accidental checkin
2008-05-19 20:06:34 +00:00
Alasdair Kergon
fc54be1062
Refactor some vginfo manipulation code.
2008-05-19 19:49:56 +00:00
Alasdair Kergon
f7da1f8177
Don't touch /dev in vgrename if activation is disabled.
2008-04-30 14:34:02 +00:00
Alasdair Kergon
eddc0f3307
post-release - reinstate incomplete enhancements
2008-04-29 16:11:28 +00:00
Alasdair Kergon
04ed52f6a0
pre-release (bug fixes only - enhancements excluded)
2008-04-29 15:58:25 +00:00
Zdenek Kabelac
9ad2ba2a1f
fixing fsadm usage with older blockdev,blkid,readline tools
...
fixing lvresize extension code path where size was not set for fsadm
2008-04-29 15:25:28 +00:00
Dave Wysochanski
8e8baf89c0
Fix vgsplit internal counting of snapshot LVs.
2008-04-23 14:33:06 +00:00
Dave Wysochanski
7eb03d6c5c
Fix internal snapshot_count when vgmerge with snapshots in source VG.
2008-04-23 12:53:10 +00:00
Alasdair Kergon
14004cf20c
Use 'active' for !suspended as the code already uses that.
2008-04-21 16:57:11 +00:00
Alasdair Kergon
82bacfc3b2
Add 3 new reporting colums: tables_loaded, readonly, suspended.
2008-04-21 13:16:30 +00:00
Alasdair Kergon
dd540781dc
Add --prefixes to dmsetup
...
E.g. dmsetup info -c --prefixes
Again, might change the name of this option.
2008-04-21 11:59:22 +00:00
Alasdair Kergon
f419a87150
Add --prefixes to reporting tools for field name prefix output format.
...
E.g. lvs --prefixes --noheadings --unbuffered --units m --nosuffix
(Used '--prefixes' for now, but I'm looking for a better name.)
2008-04-20 00:15:08 +00:00
Alasdair Kergon
f44e3ff46a
Calculate string size within dm_pool_grow_object.
2008-04-19 15:50:18 +00:00
Alasdair Kergon
7e305eda2f
Fix lvconvert -m0 allocatable space check.
2008-04-18 12:50:24 +00:00
Alasdair Kergon
082628eb2c
missing stack
2008-04-15 14:57:12 +00:00
Dave Wysochanski
c5421d1554
Update vgsplit to only restrict split with active LVs involved in split.
...
Existing code will reject a vgsplit if any LVs in the source VG are active.
This patch updates vgsplit to only check LVs involved in the split.
2008-04-10 21:34:53 +00:00
Alasdair Kergon
f72dd2c732
.
2008-04-10 20:02:04 +00:00
Alasdair Kergon
3a370b7350
more pre-release cleanup
2008-04-10 19:59:43 +00:00
Alasdair Kergon
0b2a795ece
make list_move consistent with other list fns
2008-04-10 19:14:27 +00:00
Dave Wysochanski
985ca02b6a
Add vg_is_clustered() helper function.
...
Should be no functional change.
2008-04-10 17:09:32 +00:00
Dave Wysochanski
8965ff4bcf
Minor vgsplit cleanups.
2008-04-10 02:15:56 +00:00
Dave Wysochanski
3998882f2f
Add _move_one_lv() helper function for vgsplit.
2008-04-10 01:30:22 +00:00
Dave Wysochanski
eec663aa3b
Fix vgsplit to only move hidden 'snapshotN' LVs when necessary.
...
This bug has been around for a long time as far as I can tell.
Without this fix, a vgsplit would unconditionally move the
'hidden/internal' snapshot LVs, and result in corrupted metadata
in the following case:
vg1: contains lv1, lv1snap, both on pvset1
vg1: contains lv2, on pvset2
"vgsplit vg1 vg2 pvset2"
would result in "snapshot0" hidden LV being moved to vg2, and
the origin and cow being left in vg1. The tools detect the
corruption in vg2, but not in vg1.
2008-04-09 20:56:06 +00:00
Dave Wysochanski
85f5392e52
Update vgsplit to take "-n LogicalVolumeName" on the commandline.
2008-04-09 13:47:13 +00:00
Alasdair Kergon
eb273c7c65
Use clustered mirror log with pvmove in clustered VGs, if available.
2008-04-09 12:56:34 +00:00
Alasdair Kergon
178e1df257
Fix some pvmove error status codes.
2008-04-09 12:45:32 +00:00
Dave Wysochanski
e80512dd52
Fix vgsplit error display - fully remove log_suppress.
...
Author: Dave Wysochanski <dwysocha@redhat.com>
2008-04-08 21:47:54 +00:00
Dave Wysochanski
9ac3596d63
Fix vgsplit error paths to release vg_to lock.
2008-04-08 21:38:09 +00:00
Alasdair Kergon
54396b890d
Indicate whether or not VG is clustered in vgcreate log message.
...
Mention default --clustered setting in vgcreate man page.
2008-04-08 14:22:13 +00:00
Alasdair Kergon
6eb44b5091
Fix vgreduce to use vg_split_mdas to check sufficient mdas remain.
...
Add (empty) orphan VGs to lvmcache during initialisation.
Fix orphan VG name used for format_pool.
2008-04-08 12:49:21 +00:00
Milan Broz
5619c629f6
Add detection of clustered mirror log capability.
...
Currently only check for kernel module presence.
2008-04-07 10:23:47 +00:00
Milan Broz
d2901a62a4
Add validation of LV name to pvmove -n.
2008-04-04 11:59:31 +00:00
Alasdair Kergon
bf7dea978e
Add per-command flags to control which commands use the VG metadata cache.
2008-04-02 21:23:39 +00:00
Dave Wysochanski
cbfbc6766e
Fix vgsplit locking and remove unneeded error messages when split into new VG.
...
When vg_lock_and_read() calls were added, they were done so incorrectly for
the destination VG (vg_to). This resulted in the VG lock not obtained when
a new VG was the destination (vg_lock_and_read() would fail in the vg_read()
clause, which would then release the lock before returning NULL), and could
result in corrupted destination VG.
The fix was to put back the original lock_vol() and vg_read() calls for 'vg_to'.
The failure of vg_read() indicates "vg does not exist", and we key off that
to determine whether we are dealing with a new or existing VG as the
destination.
The first two error messages were also the result of the incorrect
vg_lock_and_read() calls:
Volume group "new" not found
cluster request failed: Invalid argument
New volume group "new" successfully split from "vg"
Fixes https://bugzilla.redhat.com/show_bug.cgi?id=438249
2008-04-02 19:30:12 +00:00
Dave Wysochanski
e283bda91d
Suppress "Volume group not found" message when vgsplit of new VG.
2008-04-02 13:08:49 +00:00
Dave Wysochanski
d0bf2f3fa0
Fix lvresize to dump stack if vg_lock_and_read() fails.
...
Necessary because vg_lock_and_read() may fail silently if the vg_check_status() call fails.
Also add lvresize tests.
2008-04-02 12:17:30 +00:00
Dave Wysochanski
33842916b0
Fix redundant lvresize message if vg doesn't exist.
...
BEFORE:
tools/lvm lvresize -l +4 vg22/lv1linear
Volume group "vg22" not found
Volume group vg22 doesn't exist
AFTER:
tools/lvm lvresize -l +4 vg22/lv1linear
Volume group "vg22" not found
2008-04-01 22:15:16 +00:00
Dave Wysochanski
8e32e58e00
Use list_move() in applicable places.
2008-03-26 17:26:32 +00:00
Dave Wysochanski
293db73c76
Add 'is_reserved_lvname()' helper function.
...
Very similar to apply_lvname_restrictions but without the error messages.
2008-03-25 15:24:59 +00:00
Dave Wysochanski
a8bffd6c70
Refactor _move_pv() in vgsplit.
...
Should be no functional change.
2008-02-29 00:13:48 +00:00
Alasdair Kergon
9790f608e9
Fix lvconvert detection of mirror conversion in progress.
2008-02-12 13:29:08 +00:00
Alasdair Kergon
b1ec1f87a4
Avoid automatic lvconvert polldaemon invocation when -R specified.
2008-02-12 13:26:53 +00:00
Alasdair Kergon
814d9d5bd0
Fix 'pvs -a' to detect VGs of PVs without metadata areas.
2008-02-06 16:09:51 +00:00
Alasdair Kergon
bb097a97ea
split orphan VG by format type
2008-02-06 15:47:28 +00:00
Zdenek Kabelac
17dd04ca1f
Fix lvresize to support /dev/mapper prefix in the lvname
...
Fix unfilled paramater passed to fsadm from lvresize
Update fsadm to call lvresize if the partition size differs (with option -l)
Fix fsadm to support vg/lv name (like the rest of lv-tools)
2008-02-06 12:45:32 +00:00
Alasdair Kergon
4e9083db10
Fix mirror log name construction during lvconvert. (2.02.30)
...
Make monitor_dev_for_events recurse through the stack of LVs.
Clean up some more compiler warnings.
Add mirror names test script.
2008-01-31 12:19:36 +00:00
Alasdair Kergon
2871881859
undo a few 'stack' moves
2008-01-30 14:17:29 +00:00
Alasdair Kergon
67cdbd7e4d
Some whitespace tidy-ups.
2008-01-30 14:00:02 +00:00
Alasdair Kergon
c51b9fff19
Use stack return macros throughout.
2008-01-30 13:19:47 +00:00
Alasdair Kergon
3d13b4677d
Refactor mirror log attachment code.
2008-01-26 00:25:04 +00:00
Alasdair Kergon
311961fdb8
Fix internal metadata corruption in lvchange --resync.
2008-01-26 00:13:45 +00:00
Dave Wysochanski
77ec1997b3
Fix vgsplit test mode
2008-01-22 03:49:39 +00:00
Dave Wysochanski
c1f2ce3938
Fix vgsplit - print different message on successful split of existing / new vg
...
Fix vgsplit - fix a couple error paths that forgot to call unlock_vg
Update vgsplit test cases
2008-01-22 03:25:45 +00:00
Dave Wysochanski
1ce224d13f
Fix vgsplit - print error if vgcreate option given w/existing vg destination
...
Fix vgsplit - reject split if metadata types or clustered attributes differ
Fix vgsplit - remove physicalextentsize option
Add vgsplit test cases
2008-01-22 02:48:53 +00:00
Alasdair Kergon
8a19ebf4fb
Fix pvs, vgs, lvs error exit status on some error paths.
...
(note -o help is now considered error)
2008-01-20 01:23:46 +00:00
Alasdair Kergon
0e0a6eb6cf
Fix lvcreate --nosync not to wait for non-happening sync.
2008-01-18 22:02:37 +00:00
Alasdair Kergon
aced269ac3
Fix lvcreate -M1 readahead.
2008-01-18 21:56:39 +00:00
Alasdair Kergon
0c06de632a
pre-release review cleanups
2008-01-17 17:17:09 +00:00
Alasdair Kergon
bdb91441f2
fix default stripesize
2008-01-17 15:53:01 +00:00
Alasdair Kergon
3650e518e7
fix default extent_size
2008-01-17 15:31:18 +00:00
Alasdair Kergon
db24ceca33
rename lv_remap_error
2008-01-17 13:54:05 +00:00
Alasdair Kergon
5cf3c51857
lvconvert/vgreduce fixes
2008-01-17 13:13:54 +00:00
Alasdair Kergon
ed903fae04
another lvconvert fix
2008-01-16 22:54:49 +00:00
Dave Wysochanski
d865615e9a
Create vgs_are_compatible() fn to check whether vgs are compatible for merging.
...
Add new vgmerge and vgsplit tests to check rejection of incompatible vgs.
Cleanup comments.
Bugzilla: bz251992
---
lib/metadata/metadata-exported.h | 3 +
lib/metadata/metadata.c | 89 +++++++++++++++++++++++++++++++++-
test/t-vgmerge-usage.sh | 101 +++++++++++++++++++++++++++++++++++++++
test/t-vgsplit-operation.sh | 20 +++++++
tools/vgmerge.c | 69 --------------------------
tools/vgsplit.c | 5 -
6 files changed, 215 insertions(+), 72 deletions(-)
2008-01-16 19:54:39 +00:00
Alasdair Kergon
c394e2c5b6
fix to earlier checkin
2008-01-16 19:40:42 +00:00
Alasdair Kergon
c014417c46
fix mirror log manipulation during lv convert
2008-01-16 19:16:48 +00:00
Alasdair Kergon
72baf0c345
Maintain lists of stacked LV segments using each LV.
2008-01-16 19:00:59 +00:00
Alasdair Kergon
fb3226a3ed
use scan_vgs_for_pvs to detect non-orphans without MDAs
2008-01-16 18:15:26 +00:00
Dave Wysochanski
6ab424acda
Remove unused 'list' param from vgsplit - conflict with maxlogicalvolumes param.
...
Initialize lvm command getopt buffer to zero before building options string.
Bugzilla: bz251992
---
man/vgsplit.8 | 3 +--
tools/commands.h | 3 +--
tools/lvmcmdline.c | 1 +
3 files changed, 3 insertions(+), 4 deletions(-)
2008-01-16 17:14:56 +00:00
Alasdair Kergon
5f3a3e312c
revert temp change
2008-01-16 15:26:40 +00:00
Alasdair Kergon
f6dd48b08a
reword
2008-01-16 15:25:10 +00:00
Dave Wysochanski
8868a4ffc2
Move more parameter validation into the library.
...
Update vgrename to call validate_vg_rename_params().
Fix vgcreate and vgsplit default arguments by adding defaults parameter to
fill_vg_create_params().
Add t-vgrename-usage.sh test.
Bugzilla: bz251992
---
tools/toollib.c | 32 ++++++++------------------------
tools/toollib.h | 5 ++---
tools/vgcreate.c | 35 +++++++++++++++++++++--------------
tools/vgrename.c | 35 ++++++-----------------------------
tools/vgsplit.c | 21 ++++++++++++++-------
5 files changed, 51 insertions(+), 77 deletions(-)
2008-01-15 22:56:30 +00:00
Alasdair Kergon
272465eab4
lvconvert waits for initial completion by default
2008-01-14 21:11:47 +00:00
Dave Wysochanski
b8daca8570
Allow vgcreate options as input to vgsplit when new vg is split destination.
2008-01-14 21:07:58 +00:00
Dave Wysochanski
3853d11fc8
Allow vgsplit into existing vg.
...
Add vgsplit tests to validate operation for new and existing vg destinations.
2008-01-11 21:43:16 +00:00
Dave Wysochanski
6fcfb4048b
Refactor vgsplit for accepting existing vg as destination
2008-01-11 20:17:18 +00:00
Dave Wysochanski
2b0968b795
Refactor vgcreate for parameter validation and add tests
2008-01-11 07:02:35 +00:00
Alasdair Kergon
06ea7eaa27
Various lvconvert/polldaemon-related fixes from NEC. See lvm-devel
...
for original patches & explanations.
2008-01-10 18:35:51 +00:00
Petr Rockai
4a898ae95b
Print warning when lvm tools are running as non-root.
2008-01-09 15:55:44 +00:00
Petr Rockai
7415ef77a1
Prevent pvcreate from overwriting MDA-less PVs belonging to active VGs.
2008-01-09 00:18:36 +00:00
Milan Broz
a95892f77d
Fix a segfault if using pvs with --all argument. (2.02.29)
2008-01-07 20:42:57 +00:00
Alasdair Kergon
8a77dd46ca
Fix vgreduce PV list processing not to process every PV in the VG.
2008-01-03 19:03:32 +00:00
Alasdair Kergon
ba0c495db7
lvconvert uses polldaemon now
2007-12-22 12:13:29 +00:00
Alasdair Kergon
b9c69aa63a
a few more changes/fixes to recent code
2007-12-22 02:13:00 +00:00