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
Alasdair Kergon
67eae34e4a
auto-collapse layers
2007-12-21 01:08:18 +00:00
Alasdair Kergon
2b3dda7f72
various cleanups in recent patches
2007-12-20 22:37:42 +00:00
Alasdair Kergon
31e9db2690
stacked mirror support (incomplete)
2007-12-20 18:55:46 +00:00
Alasdair Kergon
ac089d9015
avoid some compiler warnings
2007-12-20 16:49:37 +00:00
Alasdair Kergon
a69ab65278
Major restructuring of pvmove and lvconvert layer manipulation code
2007-12-20 15:42:55 +00:00
Alasdair Kergon
f29e7ac504
replace fsadm.c with fsadm.sh
2007-12-17 12:31:50 +00:00
Alasdair Kergon
1995c9ffb5
Build changes to replace fsadm C program with shell script.
2007-12-17 12:23:24 +00:00
Alasdair Kergon
dd007cfdd5
Append fields to report/pvsegs_cols_verbose.
...
Permit LV segment fields with PV segment reports.
Add seg_start_pe and seg_pe_ranges to reports.
2007-12-14 21:53:02 +00:00
Alasdair Kergon
b680c5c677
export can_split parameter until rest of pvmove allocation restructuring gets done
2007-12-05 22:11:20 +00:00
Alasdair Kergon
9b6135dca4
round readahead to multiple of page size in tools
2007-12-05 19:24:32 +00:00
Alasdair Kergon
8611f8851e
pre-release
2007-12-05 17:05:04 +00:00
Alasdair Kergon
0ba25de173
read_ahead in report with underscore to match lvm2 field
2007-12-05 14:42:10 +00:00
Alasdair Kergon
f2aae88a7c
fixme
2007-12-03 22:53:04 +00:00
Alasdair Kergon
0b7d16bc09
fixes
2007-12-03 22:48:36 +00:00
Alasdair Kergon
2d1eead2e8
read_ahead node ops
2007-11-30 14:59:57 +00:00
Alasdair Kergon
ca592a2745
refine specification of dmsetup readahead
2007-11-29 14:44:28 +00:00
Alasdair Kergon
52b8440916
add read_ahead functions to library and dmsetup --readahead
...
(Not live yet.)
2007-11-27 20:57:05 +00:00
Alasdair Kergon
940d710ece
drop mirrored_pv/mirrored_pe from alloc handle
2007-11-22 14:54:35 +00:00
Alasdair Kergon
94e33a6ca3
FIXMEs for case where dm itself has device open
2007-11-22 01:25:06 +00:00
Alasdair Kergon
cd1525ac51
note pvmove breakage
2007-11-19 18:24:08 +00:00
Alasdair Kergon
3e50ea9eef
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
a68d8ec833
move pvresize_single back under tools
2007-11-15 22:11:18 +00:00
Alasdair Kergon
b6f4f0c748
Fix --addtag to drop @ prefix from name
2007-11-15 21:59:11 +00:00
Alasdair Kergon
57d921e953
more vg_read lock fixes
2007-11-15 21:30:52 +00:00
Alasdair Kergon
fed2f391ff
another vg_lock_and_read
2007-11-15 02:53:49 +00:00
Alasdair Kergon
e5f7352bef
Convert some vg_reads into vg_lock_and_reads
2007-11-15 02:20:03 +00:00
Alasdair Kergon
223c62e7b7
Avoid nested vg_reads when processing PVs in VGs and fix associated locking.
2007-11-14 18:41:05 +00:00
Alasdair Kergon
204a12e594
Accept sizes with --readahead argument.
...
Store size arguments as sectors internally.
2007-11-14 00:08:25 +00:00
Alasdair Kergon
9a17ce30a0
fix precedence
2007-11-12 21:50:21 +00:00
Alasdair Kergon
a6b22cf317
readahead activation code (but no dm support yet)
2007-11-12 20:51:54 +00:00
Dave Wysochanski
6c3dc20388
Fix compile warnings / minor errors introduced recently.
2007-11-12 20:02:55 +00:00
Alasdair Kergon
46355000d1
Remove new mirror logs when creation fails.
2007-11-12 14:36:57 +00:00
Alasdair Kergon
df322f0ba1
Attempt to remove incomplete LVs with lvcreate zeroing/activation problems.
2007-11-12 13:34:14 +00:00
Alasdair Kergon
b4068515e8
Enhance the management of readahead settings.
2007-11-09 16:51:54 +00:00
Alasdair Kergon
19c865437a
Prevent lvconvert -s from using same LV as origin and snapshot.
2007-11-07 16:33:12 +00:00
Alasdair Kergon
d38bf3616c
Fix orphan-related locking in pvdisplay and pvs.
...
Fix missing VG unlocks in some pvchange error paths.
Add some missing validation of VG names.
Rename validate_vg_name() to validate_new_vg_name().
Change orphan lock to VG_ORPHANS.
Change format1 to use ORPHAN as orphan VG name.
2007-11-02 20:40:05 +00:00
Bryn M. Reeves
9c1dbeb3f1
Convert pvchange, pvdisplay, pvscan to use is_orphan()
2007-11-02 14:54:40 +00:00
Bryn M. Reeves
8b98c12815
Add is_orphan_vg() and change all hardcoded checks to use it.
2007-11-02 13:06:42 +00:00
Dave Wysochanski
1b8de4cb25
Add pv_dev_name() to access PV device name.
...
Patch by Jun'ichi Nomura <j-nomura@ce.jp.nec.com>
2007-10-12 14:29:32 +00:00
Dave Wysochanski
9ea1d647af
Non-functional change - refactor lv_create_empty().
...
Remove struct format_instance param - we can safely obtain
this from vg->fid inside the function.
2007-10-11 19:20:38 +00:00
Dave Wysochanski
8fd14f09e2
Non-functional change - refactor vg_add_snapshot fid parameter.
2007-10-11 18:51:21 +00:00
Jim Meyering
06b8fee542
Allow $DM_DEV_DIR envvar to override default of "/dev".
...
* dmsetup/dmsetup.c (DEV_PATH): Remove definition.
(parse_loop_device_name): Add parameter: dev_dir.
Declare the "dev" parameter to be "const".
Use dev_dir, not DEV_PATH. Handle the case in which dev_dir
does not end in a "/".
(_get_abspath): Declare "path" parameter "const", to match.
(_process_losetup_switches): Add parameter: dev_dir.
Pass dev_dir to parse_loop_device_name.
(_process_switches): Add parameter: dev_dir.
Pass dev_dir to _process_losetup_switches.
(main): Set dev_dir from the DM_DEV_DIR envvar, else to "/dev".
Call dm_set_dev_dir.
* lib/libdm-common.c (dm_set_dev_dir): Rewrite to be careful
about boundary conditions, now that dev_dir may be tainted.
* man/dmsetup.8: Mention $DM_DEV_DIR.
Author: Jim Meyering <meyering@redhat.com>
2007-10-09 12:14:48 +00:00
Jim Meyering
4df0c15074
Fix the fsadm build failure without using -llvm.
...
* lib/misc/util.c (last_path_component): Move definition to ...
* lib/misc/last-path-component.h (last_path_component): ...here.
New file. Make the function "static inline".
* include/.symlinks: Add last-path-component.h.
* lib/misc/util.h (last_path_component): Remove declaration.
* tools/fsadm/fsadm.c: Include "last-path-component.h".
* tools/lvmcmdline.c: Likewise.
Author: Jim Meyering <meyering@redhat.com>
2007-10-03 16:10:04 +00:00
Jim Meyering
d634df5764
Revert last change. fsadm must not depend on -llvm.
...
Author: Jim Meyering <meyering@redhat.com>
2007-10-03 16:08:18 +00:00
Jim Meyering
0fc5422941
Avoid link failure when building fsadm.
...
* tools/fsadm/Makefile.in (LVMLIBS): Define.
(fsadm): Link with $(LVMLIBS).
Author: Nix <nix@esperi.org.uk>
2007-10-03 09:46:57 +00:00
Dave Wysochanski
cd3ae9bc99
Remove unused pargc parameter
2007-10-01 15:01:26 +00:00
Dave Wysochanski
bf4f5b21a4
Some const fixups for previous checkins
2007-09-24 21:30:00 +00:00
Dave Wysochanski
f18ef24471
Refactor lvcreate mirror parameter validation.
2007-09-24 13:29:49 +00:00