Milan Broz
de28fed87b
Fix "Calculate mirror log size" commit, the le_count should be always set.
2009-01-06 17:24:21 +00:00
Milan Broz
42dee539e2
Do not issue write behind lv size.
...
pvcreate $DEV
vgcreate -s 1k vg_test $DEV
lvcreate -l 1 -n lv1 vg_test
..
/dev/vg_test/lv1: write failed after 1024 of 4096 at 0: No space left on device
Just check for maximum write size in set_lv.
2008-12-19 15:26:01 +00:00
Milan Broz
6d1b3b5385
Calculate mirror log size instead of hardcoding 1 extent size.
...
It fails for 1k PE now.
Patch adds log_region_size into allocation habdle struct
and use it in _alloc_parallel_area() for proper log size calculation
instead of hardcoded 1 extent - which can fail.
Reproducer for incorrect log size calculation:
DEV=/dev/sd[bcd]
pvcreate $DEV
vgcreate -s 1k vg_test $DEV
lvcreate -m1 -L 12M -n mirr vg_test
https://bugzilla.redhat.com/show_bug.cgi?id=477040
The log size calculation is mostly copied from kernel code.
2008-12-19 15:24:52 +00:00
Peter Rajnoha
b47952641a
Added displayable_lvs_in_vg and lv_is_displayable functions to deal with
...
the counts of visible LVs from user's perspective consistently throughout
the code.
2008-12-04 15:54:26 +00:00
Alasdair Kergon
56d8844068
more fixes
2008-11-04 15:07:45 +00:00
Alasdair Kergon
2c44337bd5
Right, a simple build (without options) is working again.
2008-11-03 22:14:30 +00:00
Alasdair Kergon
9e71c18092
Fix temp table activation in mirror conversions not to happen in other cmds.
...
Fix temp table in mirror conversions to use always-present error not zero.
2008-10-23 11:21:04 +00:00
Alasdair Kergon
5da4feac0e
Use temp table to set device size when converting mirrors.
...
(Avoids having same mirror table loaded twice concurrently by first
using a 'zero' table to set the size of the device so when mirror
table is preloaded it doesn't have to be activated immediately.)
2008-10-17 10:57:15 +00:00
Alasdair Kergon
3935c3ecd6
In resume_mirror_images replace activate_lv with resume_lv as workaround.
...
(The resume has the side-effect of resuming all of the original
mirror's sub-lvs in addition to the new 'error' target middle layer.)
2008-10-17 10:50:14 +00:00
Alasdair Kergon
9c4bf5db4a
Fix conversion of md chunk size into sectors.
2008-10-03 14:22:18 +00:00
Milan Broz
9352a2fdad
Fix misleading error message when there is no allocatable extents in VG.
2008-09-29 09:59:10 +00:00
Milan Broz
061fa9c4c5
Fix handling of PVs which reappeared with old metadata version.
2008-09-25 15:59:10 +00:00
Milan Broz
affecdc5fc
Try to fix possible infinite loop in dependency tree walking (by mornfall).
2008-09-25 15:57:02 +00:00
Alasdair Kergon
8c5bcdabab
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
Alasdair Kergon
86fb36e2b0
Add device/md_chunk_alignment to lvm.conf
2008-09-19 05:33:37 +00:00
Alasdair Kergon
3c2086efdd
adjust pe_align for md chunk size
2008-09-19 05:19:09 +00:00
Alasdair Kergon
f6700b450e
remove unsed var
2008-09-19 04:30:02 +00:00
Alasdair Kergon
a77f5bf258
Pass struct physical_volume to pe_align.
2008-09-19 04:28:58 +00:00
Alasdair Kergon
df6936c9e1
fix last patch return code
2008-09-19 00:20:39 +00:00
Alasdair Kergon
324e23b72d
Avoid shuffling remaining mirror images when removing one, retaining primary.
2008-09-18 19:56:50 +00:00
Alasdair Kergon
4bb7a2f523
Add missing LV error target activation in _remove_mirror_images.
2008-09-18 19:09:47 +00:00
Milan Broz
3a2fb07349
Fix setting of volume limit count if converting to lvm1 format.
...
Fixes problem when after downconvert to lvm1 VG is broken:
# lvcreate -n lv1 -l 4 vg_test
Invalid LV in extent map (PV /dev/sdb1, PE 0, LV 0, LE 0)
...
2008-08-29 13:41:21 +00:00
Zdenek Kabelac
38a8b563bf
get lv_list properly from vg->lst and fix compiler warning
2008-08-13 13:42:35 +00:00
Zdenek Kabelac
e2151fb4af
vgremove tries to remove lv snapshot first.
...
Added function lv_remove_with_dependencies().
2008-08-05 12:05:26 +00:00
Alasdair Kergon
82185ada82
Cease recognising snapshot-in-use percentages returned by early development kernels.
2008-07-15 00:25:52 +00:00
Alasdair Kergon
59743245b4
Fix up cache for PVs without mdas after consistent VG metadata is processed.
2008-06-27 15:18:31 +00:00
Alasdair Kergon
6db4136358
Update validation of safe mirror log type conversions in lvconvert. (brassow)
2008-06-26 23:05:11 +00:00
Alasdair Kergon
36081ccf2d
Fix reporting of LV fields alongside unallocated PV segments.
2008-06-25 16:52:27 +00:00
Dave Wysochanski
15db00b53e
Refactor pv_create() to take cmd_context - no functional change.
2008-06-24 20:10:32 +00:00
Dave Wysochanski
2d415cf9f8
Add uninitialized_var macro to suppress invalid compiler warnings.
...
One such warning is seen on fedora9 gcc compiler:
/metadata.c:1923: warning: 'results' may be used uninitialized in this function
2008-06-23 19:04:34 +00:00
Jim Meyering
ac27ef2593
Don't deref uninitialized log_lv upon failed mirror addition.
...
* mirror.c (add_mirror_images): Ensure that log_lv is initialized.
2008-06-13 12:15:55 +00:00
Alasdair Kergon
bfadd2133e
Tweak detection of invalid fid after changes to PVs in VG in _vg_read.
2008-06-08 14:18:44 +00:00
Alasdair Kergon
ec40d92889
post-release
2008-06-06 19:28:35 +00:00
Alasdair Kergon
697e3bb2df
back out unnecessary changes for this release
2008-06-06 17:36:19 +00:00
Alasdair Kergon
d0de492ff3
cope with volatile vginfo in vg_read
2008-06-06 11:12:50 +00:00
Alasdair Kergon
57d0dc0db2
Allow for vginfo changing during _vg_read.
2008-06-06 09:48:04 +00:00
Alasdair Kergon
ad134662a2
Drop metadata cache if update fails in vg_revert or vg_commit.
2008-06-03 17:56:54 +00:00
Alasdair Kergon
d9c0105fef
Drop metadata cache before writing precommitted metadata instead of after.
2008-05-08 18:06:58 +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
Dave Wysochanski
8e8baf89c0
Fix vgsplit internal counting of snapshot LVs.
2008-04-23 14:33:06 +00:00
Alasdair Kergon
fd1b118942
Check lv_count in vg_validate.
...
Fix internal LV counter when a snapshot is removed.
2008-04-22 12:54:33 +00:00
Milan Broz
581b17def2
Drop cached VG metadata before and after committing changes to it.
2008-04-15 14:46:19 +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
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
Alasdair Kergon
ad607a23f1
create fids for internal orphan VGs
2008-04-07 22:12:37 +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
Dave Wysochanski
9da5d7ac02
Add check to vg_commit() to ensure lock is held before writing new VG metadata.
2008-04-04 15:41:20 +00:00
Alasdair Kergon
6e210a6c54
Cache VG metadata internally while VG lock is held.
2008-04-01 22:40:13 +00:00
Dave Wysochanski
9332d2cb9d
Add find_lv_in_lv_list() and find_pv_in_pv_list().
...
Update _add_pvs() to call find_pv_in_pv_list().
2008-03-28 19:08:23 +00:00
Dave Wysochanski
8e32e58e00
Use list_move() in applicable places.
2008-03-26 17:26:32 +00:00
Dave Wysochanski
052bbfba3a
Add pvseg_is_allocated() for identifying a PV segment allocated to a LV.
2008-03-26 16:48:10 +00:00
Alasdair Kergon
7284f3f966
preparation for vg cache
2008-03-17 16:51:31 +00:00
Dave Wysochanski
ad8f37df1b
Const cleanups in find_* functions.
2008-03-13 22:51:24 +00:00
Alasdair Kergon
60be88a0a6
Fix resetting of MIRROR_IMAGE and VISIBLE_LV after removal of LV.
2008-02-22 13:28:29 +00:00
Alasdair Kergon
4c0f4125ec
Fix remove_layer_from_lv to empty the LV before removing it. (2.02.30)
2008-02-22 13:22:44 +00:00
Alasdair Kergon
39d3ec0b51
Add missing no-longer-used segs_using_this_lv test to check_lv_segments.
2008-02-22 13:22:21 +00:00
Jim Meyering
a34a6a3f71
is_orphan: make parameter "const" to avoid compiler warning
2008-02-13 20:01:48 +00:00
Alasdair Kergon
bb097a97ea
split orphan VG by format type
2008-02-06 15:47:28 +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
5dc6c0de80
Fix two check_lv_segments error messages to show whole segment.
2008-01-26 00:30:28 +00:00
Alasdair Kergon
3d13b4677d
Refactor mirror log attachment code.
2008-01-26 00:25:04 +00:00
Alasdair Kergon
ec2bd20886
suppress compiler warning
2008-01-22 16:02:26 +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
0e0a6eb6cf
Fix lvcreate --nosync not to wait for non-happening sync.
2008-01-18 22:02:37 +00:00
Alasdair Kergon
7644c656d8
add lvconvert messages
2008-01-18 22:00:46 +00:00
Alasdair Kergon
0c06de632a
pre-release review cleanups
2008-01-17 17:17:09 +00:00
Alasdair Kergon
db24ceca33
rename lv_remap_error
2008-01-17 13:54:05 +00:00
Alasdair Kergon
58a63ae973
mirror log stuff
2008-01-17 13:37:51 +00:00
Alasdair Kergon
5cf3c51857
lvconvert/vgreduce fixes
2008-01-17 13:13:54 +00:00
Alasdair Kergon
70955d40a1
fix a _get_vgs return
2008-01-16 22:52:46 +00:00
Alasdair Kergon
79182305ef
additional safety check on new segment list
2008-01-16 20:00:01 +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
ba4d6ad8ea
adjust mirror log error message
2008-01-16 19:50:23 +00:00
Alasdair Kergon
17431cddac
cope with stacked LVs as well as PVs when deciding which bits of mirrors to remove
2008-01-16 19:38:39 +00:00
Alasdair Kergon
876003dc44
allow a mirror to contain only one mimage
2008-01-16 19:18:51 +00:00
Alasdair Kergon
171b53fb25
export find_temporary_mirror()
2008-01-16 19:13:51 +00:00
Alasdair Kergon
e344497277
move removable_pvs checking
2008-01-16 19:11:39 +00:00
Alasdair Kergon
7d18ea22eb
reorder funcs
2008-01-16 19:09:35 +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
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
Dave Wysochanski
b8daca8570
Allow vgcreate options as input to vgsplit when new vg is split destination.
2008-01-14 21:07:58 +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
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
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
1620864c35
more fixes
2007-12-20 23:12:27 +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
a69ab65278
Major restructuring of pvmove and lvconvert layer manipulation code
2007-12-20 15:42:55 +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
940d710ece
drop mirrored_pv/mirrored_pe from alloc handle
2007-11-22 14:54:35 +00:00
Alasdair Kergon
3da4613d7b
Start refactoring pvmove allocation code.
2007-11-22 13:57:21 +00:00
Alasdair Kergon
a68d8ec833
move pvresize_single back under tools
2007-11-15 22:11:18 +00:00