Dave Wysochanski
2815870302
Fix pvs segfault when run with orphan PV and vg_mda_size or vg_mda_free fields
...
We display '0' for these fields now in this case. Ideally these values are
undefined for an orphan PV but today there is no way to specify undefined
with display functions such as _size64_disp().
2009-01-10 15:04:28 +00:00
Alasdair Kergon
219b480da1
Display a 'dev_size' of zero for missing devices in reports.
2009-01-10 02:43:51 +00:00
Dave Wysochanski
c926ea5cc4
Add pv_mda_size to pvs and vg_mda_size to vgs.
2009-01-09 22:48:22 +00:00
Milan Broz
326902f0c7
Fix lvmdump /sys listing to include virtual devices directory.
2009-01-06 18:02:57 +00:00
Peter Rajnoha
6cca7a9fd6
Add "--refresh" functionality to vgchange and vgmknodes.
2008-12-22 09:04:35 +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
Milan Broz
0c8bdaf33c
Fail add tree node when requested major/minor is used.
...
Check for major/minor collision is added in _add_dev_to_dtree()
where we already read info by uuid,
so in the case of requesting major/minor it queries device-mapper
by major/minor for device availability.
Fixes https://bugzilla.redhat.com/show_bug.cgi?id=204992
2008-12-19 15:23:03 +00:00
Peter Rajnoha
ed96a9feb4
Fix incorrect return value in help function.
2008-12-19 14:43:02 +00:00
Peter Rajnoha
3ad47d16ab
Fix vgrename using UUID in case there are VGs with the same name.
2008-12-19 14:22:48 +00:00
Dave Wysochanski
539f903fd2
Fix segfault when invalid field given in reporting commands.
...
Problem is dm_report_init() may return NULL and subsequent call to
dm_report_set_output_field_name_prefix() doesn't handle NULL value.
Example:
pvs --nameprefixes --rows --unquoted --noheadings -opv_name,fred
Logical Volume Fields
---------------------
lv_uuid - Unique identifier
lv_name - Name. LVs created for internal use are enclosed in brackets.
...
Physical Volume Segment Fields
------------------------------
pvseg_start - Physical Extent number of start of segment.
pvseg_size - Number of extents in segment.
Unrecognised field: fred
Segmentation fault
2008-12-15 13:30:45 +00:00
Dave Wysochanski
9db16312b8
*** empty log message ***
2008-12-11 13:45:28 +00:00
Dave Wysochanski
c7e363f98a
Add liblvm interactive test infrastructure to build.
2008-12-07 19:37:07 +00:00
Dave Wysochanski
d17a8e365d
Make _init_rand() thread safe - use rand_r() instead of rand().
...
Use good entropy for seed value if possible.
2008-12-07 04:27:56 +00:00
Dave Wysochanski
b721056e04
Add generic function to read /dev/urandom, used in uuid calculation.
2008-12-07 04:23:37 +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
Dave Wysochanski
9d9589d173
Fix vgcreate race which could allow two parallel vgcreates to succeed,
...
with the second vgcreate overwriting the first.
Obtain lock before calling vg_create(), which checks for existence of vgname
and fails if it already exists.
2008-12-01 20:14:33 +00:00
Alasdair Kergon
89ef434fe0
Fix uninitialised lv_count in vgdisplay -c
2008-12-01 17:38:35 +00:00
Alasdair Kergon
e2675481f0
Don't skip updating pvid hash when lvmcache_info struct got swapped.
2008-11-27 18:13:50 +00:00
Alasdair Kergon
18dcfb6987
Add tinfo to termcap search path for pld-linux.
2008-11-24 13:33:16 +00:00
Christine Caulfield
acc4138895
Fix a starup race in clvmd that could result in huge waits for the first command to be processed.
2008-11-21 13:48:00 +00:00
Alasdair Kergon
2de380336d
Generate clvmd init script at configuration time for Red Hat-based distros.
2008-11-19 19:33:25 +00:00
Alasdair Kergon
07698bfd56
post-release (retrospective)
2008-11-19 14:14:51 +00:00
Dave Wysochanski
da52655315
Fix "lvremove -f vgname" when vgname contains snapshots.
...
Prior to this patch, "lvremove -f vgname" would fail if vgname contained
one or more snapshot LVs. Now this passes, but has a side-effect.
If you issue "lvremove vgname" where vgname contains one or more snaps,
you will get an extra "y/n" prompt to remove the same snapshot.
Example:
$ lvs
LV VG Attr LSize Origin Snap% Move Log Copy% Convert
lvsnap vgtest swi-a- 16.00M lvtest 0.05
lvtest vgtest owi-a- 64.00M
$ lvremove vgtest
Do you really want to remove active logical volume "lvsnap"? [y/n]: n
Logical volume "lvsnap" not removed
Do you really want to remove active logical volume "lvsnap"? [y/n]: n
Logical volume "lvsnap" not removed
Command failed with status code 5.
Fixing this will most likely require modification of the iterator
function, process_each_lvs_in_vg() to iterate over snaps in some
cases (e.g. lvs, vgdisplay -v) but not in others (lvremove).
2008-11-17 18:20:13 +00:00
Dave Wysochanski
82dcb097c4
Make man pages consistent with either-or options (use "|" everywhere).
2008-11-12 15:01:35 +00:00
Alasdair Kergon
40387549dd
clarify
2008-11-10 21:26:06 +00:00
Alasdair Kergon
b362d126ef
First test release of the merged code base.
2008-11-10 12:39:50 +00:00
Dave Wysochanski
3a91213caf
Fix lvhange and lvcreate man pages to properly describe permissions option.
...
James Youngman <jay@gnu.org>
2008-11-07 19:23:52 +00:00
Dave Wysochanski
e7513be20c
Fix vgdisplay return code and exit status.
2008-11-07 19:02:47 +00:00
Alasdair Kergon
3e5b6ed214
more tweaking to get things to compile - dmlib.h for log fns, list.h
2008-11-03 18:59:59 +00:00
Alasdair Kergon
965566dcf0
Rename a couple of variables that matched function names.
2008-11-03 16:26:27 +00:00
Alasdair Kergon
597c3f8e0f
Use simple x.y.z library version in libdevmapper.pc
2008-11-01 20:48:09 +00:00
Alasdair Kergon
c249597fa7
remove ancient debian dir
2008-10-31 12:25:54 +00:00
Alasdair Kergon
fcc5d4434a
separate lvm-globals
2008-10-30 17:40:00 +00:00
Alasdair Kergon
84b9ec9733
Split out lvm-logging.h from log.h.
2008-10-30 17:27:28 +00:00
Alasdair Kergon
10a9579a63
Add libdm subdir to begin merging the device-mapper tree.
2008-10-30 15:31:33 +00:00
Alasdair Kergon
d480ed4100
post-release
2008-10-26 10:40:50 +00:00
Alasdair Kergon
5e4b145370
pre-release
2008-10-26 10:33:34 +00:00
Alasdair Kergon
14c9a9aec7
Accept locking fallback_to_* options in the global section as documented.
2008-10-24 01:16:16 +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
4422220970
post-release
2008-10-17 17:48:10 +00:00
Alasdair Kergon
a64041bbee
pre-release
2008-10-17 17:42:08 +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
08b959a50b
Avoid overwriting in-use on-disk text metadata by forgetting MDA_HEADER_SIZE. (Edward Allcutt)
2008-10-17 00:55:46 +00:00
Milan Broz
ffc4a05bda
Fix snapshot monitoring library to not cancel monitoring invalid snapshot.
...
snapshot DSO unregistered itself when snapshot changed state to invalid.
This can cause a race (and several timeouts), when for example another snapshot
is added and in the middle of operation (suspend/resume) the monitoring thread
unregister itself.
Fix it by keeping the snapshot monitored after invalidation - just reset
threshold to not really print any messages to syslog.
2008-10-13 12:06:30 +00:00
Alasdair Kergon
5951ef331a
Generate man pages from templates and include version. (romster)
2008-10-08 12:50:13 +00:00
Alasdair Kergon
68f2de6d4a
Add usrlibdir & usrsbindir to configure.
2008-10-07 19:11:59 +00:00
Alasdair Kergon
9c4bf5db4a
Fix conversion of md chunk size into sectors.
2008-10-03 14:22:18 +00:00
Alasdair Kergon
2adafc1699
device->devices
2008-10-01 22:48:26 +00:00
Alasdair Kergon
7eb1c3ed92
Free text metadata buffer after a failure writing it.
2008-09-30 20:37:52 +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
550463b5e1
Fix mirror DSO to call vgreduce with proper parameters.
2008-09-25 15:52:29 +00:00
Milan Broz
ed8c4d9961
Fix validation of --minor and --major in lvcreate to require -My always.
2008-09-24 16:32:51 +00:00
Alasdair Kergon
b906150a32
.
2008-09-19 18:31:20 +00:00
Alasdair Kergon
6e410af1d6
fix last release
2008-09-19 15:44:03 +00:00
Alasdair Kergon
01b1d604b6
pre-release
2008-09-19 06:48:48 +00:00
Alasdair Kergon
f3fc238668
.
2008-09-19 06:44:54 +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
a77f5bf258
Pass struct physical_volume to pe_align.
2008-09-19 04:28:58 +00:00
Alasdair Kergon
225ad19114
Store sysfs location in struct cmd_context.
2008-09-19 03:42:37 +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
Alasdair Kergon
08b481bbc5
Prevent resizing an LV while lvconvert is using it.
2008-09-18 18:51:58 +00:00
Alasdair Kergon
a0e00ccf3f
Avoid repeatedly wiping cache while VG_GLOBAL is held in vgscan & pvscan.
2008-09-16 18:05:11 +00:00
Milan Broz
df9c7546a2
Fix pvresize to not allow resize if PV has two metadata areas.
...
If the PV has two metadata areas, second one is located at the end of the device.
Do not allow resize of PV or second metadata area can be overwritten.
(The check was active only for orphan PVs.)
2008-09-12 15:26:45 +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
Milan Broz
9c520b114a
Fix vgconvert logical volume id metadata validation.
...
If volume group is downconverted to lvm1 format,
check if lvid has supported format for conversion to lv_num in lvm1.
2008-08-28 18:41:51 +00:00
Milan Broz
050f5d8955
Fix lvmdump metadata gather option (-m) to work correctly. (Jaroslav Stava)
2008-08-28 10:40:44 +00:00
Milan Broz
a4a1cd76ba
Fix allocation bug in text metadata format write error path.
...
Function _text_pv_write doesn't use memory pool but static buffer,
call dm_pool_free in error path in _raw_write_mda_header is wrong.
Move pool free only to path where is the memory pool used.
2008-08-16 09:46:55 +00:00
Milan Broz
8df4c3748a
Fix vgcfgbackup to properly check filename if template is used.
2008-08-13 12:44:24 +00:00
Zdenek Kabelac
b145d876a4
configure aborts if lcov or genhtml are missing with --enable-profiling
2008-08-05 14:29:38 +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
b7961bdb2f
Improve file descriptor leak detection to display likely culprit and filename.
2008-08-01 19:51:27 +00:00
Alasdair Kergon
9125b72b15
Change clustered mirror kernel module name from cmirror to dm-log-clustered.
2008-07-31 14:43:39 +00:00
Alasdair Kergon
131bc6f091
Avoid looping forever in _pv_analyze_mda_raw used by pvck.
2008-07-31 13:07:01 +00:00
Alasdair Kergon
021317a547
Change lvchange exit status to indicate if any part of the operation failed.
2008-07-31 13:03:01 +00:00
Alasdair Kergon
32a478cb1f
fix pvremove for pvs without mdas
2008-07-31 12:38:31 +00:00
Alasdair Kergon
1b8b624661
Fix pvchange to handle PVs without mdas.
2008-07-31 12:28:51 +00:00
Alasdair Kergon
29f7cbdabf
Refactor _text_pv_read and always return mda list if requested.
2008-07-31 10:50:18 +00:00
Alasdair Kergon
ca822ab44e
.
2008-07-24 15:39:47 +00:00
Jim Meyering
ea7cfb003f
Don't make configure fail when readline library is not available.
2008-07-24 14:54:06 +00:00
Dave Wysochanski
f2d0cc63fd
Remove dead code, is_lvm_partition() - no functional change.
...
This code does nothing. The function is #defined to 1 which ensures the only
two if statements referencing it will never be true.
2008-07-23 19:46:33 +00:00
Dave Wysochanski
57376069bd
Refactor pvcreate to divide parameter parsing & validation from create logic.
2008-07-21 19:26:33 +00:00
Dave Wysochanski
4833ac3d3d
Update pvcreate and vgsplit tests.
...
Add more pvcreate tests.
Start handling lvm1 and lvm2 metadata and metadatacopies=0,1.
2008-07-17 03:17:01 +00:00
Dave Wysochanski
d2edd6ac07
Add pvcreate sanity tests, check for label_write() failure in _text_pv_write().
...
Failure to check for label_write() return code caused the following test
to indicate it passed when it really failed:
pvcreate rejects labelsector > 1000000000000
2008-07-16 21:32:38 +00:00
Alasdair Kergon
239c4fe6db
Fix pvchange -M1 -u to preserve existing extent locations when there's a VG.
2008-07-16 10:46:12 +00:00
Alasdair Kergon
82185ada82
Cease recognising snapshot-in-use percentages returned by early development kernels.
2008-07-15 00:25:52 +00:00
Petr Rockai
bc437feded
Add "flags" metadata field (akin to "status") for backward-compatible flags.
...
The "status" field is treated as it ever has been, unknown flags there are
treated as fatal metadata errors. However, in the "flags" field, any unknown
flags will be ignored and silently dropped. This improves
backward-compatibility possibilities. (Any versions without support for this
new "flag" field will drop the field altogether, which is same as ignoring all
the flags there.)
2008-07-10 11:30:57 +00:00
Alasdair Kergon
367a0ac052
.
2008-07-10 09:50:23 +00:00
Petr Rockai
2a9a80c9bb
Fix dmeventd regression where mirror and snapshot monitoring libraries
...
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
2008-07-09 09:59:42 +00:00
Alasdair Kergon
f4fa433eff
post-release
2008-06-27 22:35:22 +00:00
Alasdair Kergon
20ee0a0609
pre-release
2008-06-27 21:56:35 +00:00
Alasdair Kergon
1b52334772
Enable readline by default if available.
2008-06-27 19:57:27 +00:00
Alasdair Kergon
5556819ac8
tweak lcov configuration/makefiles
2008-06-27 19:24:17 +00:00
Zdenek Kabelac
fddafd5125
extended configure with --enable-profiling for compiling code with gcov info
...
extended Makefile with targets:
cov-reset - reset counters
cov - generete report to covhtml subdirectory
covd - generate report to covhtml-DATE-TIME subdirectory
2008-06-27 15:35:09 +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
1049bc2f9c
Fix lvconvert to disallow snapshot and mirror combinations. (mpatocka)
2008-06-26 21:38:58 +00:00
Alasdair Kergon
36081ccf2d
Fix reporting of LV fields alongside unallocated PV segments.
2008-06-25 16:52:27 +00:00
Alasdair Kergon
1f787aca28
Add --rows to reports.
2008-06-24 22:48:53 +00:00
Alasdair Kergon
30ef4c738a
Add --unquoted to reporting tools.
2008-06-24 21:21:04 +00:00
Dave Wysochanski
274788b4a5
Suppress invalid 'sb_offset' compiler warning (FC8) with uninitialized_var().
...
device/dev-md.c:61: warning: ‘sb_offset’ may be used uninitialized in this function
2008-06-23 19:26:21 +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
Dave Wysochanski
626dd7a5fe
Suppress 'sb_offset' compiler warning by using enum for md superblock versions.
...
The warning is bogus and is only seen on certain versions of gcc.
However using the enum does seem to clarify the intent of the code - only
3 possible md minor superblock versions.
Related compiler warning:
device/dev-md.c:53: warning: 'sb_offset' may be used uninitialized in this function
2008-06-23 14:54:50 +00:00
Jim Meyering
65b19284b5
lvm2_run: don't return uninitialized for _memlock_inc or _memlock_dec
...
* tools/lvmcmdlib.c: Initialize "ret". Also avoid useless string
comparison.
2008-06-23 09:27:45 +00:00
Jim Meyering
aa4d1e3106
avoid link failure when configuring without --enable-cmdlib
...
* 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.
2008-06-23 09:25:08 +00:00
Jim Meyering
2c189a57f4
avoid link failure when configuring without --enable-readline
...
* configure.in: Define READLINE_SUPPORT not when processing
--enable-readline or --disable-readline, but rather only after
determining that readline support is desired and the readline
library is available/usable.
2008-06-23 09:23:48 +00:00
Christine Caulfield
f3c3494c86
Make clvmd return immediately if other nodes are down in an openais cluster.
2008-06-20 12:46:21 +00:00
Christine Caulfield
7515a2cacc
Make clvmd return immediately if other nodes are down in a gulm cluster.
...
bz#447799
2008-06-20 10:58:28 +00:00
Zdenek Kabelac
5f2c195933
Improve/Fix read ahead 'auto' calculation for stripe_size
...
Fix lvchange output for -r auto setting if auto is already set
Add testcase for read ahead
2008-06-18 11:32:14 +00:00
Dave Wysochanski
0187112396
Fix identifier 'error_message_produced' used ambiguously.
...
Related compiler warning:
log/log.c:242: warning: declaration of 'error_message_produced' shadows a global declaration
../include/log.h:98: warning: shadowed declaration is here
2008-06-17 14:14:00 +00:00
Jim Meyering
d0191583e8
Begin syncing configure.in for merge/unification with device-mapper.
2008-06-13 14:37:18 +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
Christine Caulfield
b1f8aa24ca
Don't call openlog for every invocation of debuglog.
...
Patch from Masatake YAMATO
2008-06-13 07:44:14 +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
Alasdair Kergon
d47bc3821c
post-release
2008-06-11 12:14:41 +00:00
Alasdair Kergon
88f2c815e3
pre-release
2008-06-11 12:08:19 +00:00
Alasdair Kergon
56637f2a85
Fix tracking of validity of PVs with no mdas in lvmcache.
2008-06-11 11:02:05 +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
Zdenek Kabelac
d9c8469363
Fix wrong free_count on imported volume group from pool device
...
Fix segfault when calling pvcreate on the pool device
2008-06-10 14:55:14 +00:00
Alasdair Kergon
80b7fe0e88
Fix segfault after _free_vginfo by remembering to remove vginfo from list.
2008-06-09 16:22:33 +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
424dd43e6f
Revert assuming precommitted metadata is live when activating (unnecessary).
2008-06-08 11:33:15 +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
697e3bb2df
back out unnecessary changes for this release
2008-06-06 17:36:19 +00:00
Alasdair Kergon
0b1a6c4b0f
pre-release
2008-06-06 17:24:28 +00:00
Alasdair Kergon
179b9822b4
Drop cached metadata when renaming a VG.
2008-06-06 13:04:44 +00:00
Alasdair Kergon
57d0dc0db2
Allow for vginfo changing during _vg_read.
2008-06-06 09:48:04 +00:00
Alasdair Kergon
e350c2f648
Decode numbers in clvmd debugging output.
2008-06-05 14:24:28 +00:00
Alasdair Kergon
bdf8c02f80
Add missing deactivation after activation failure in lvcreate -Zy.
2008-06-05 13:38:30 +00:00
Alasdair Kergon
e4b34bfad0
When activating, if precommitted metadata is still cached, assume it's live.
2008-06-05 13:06:39 +00:00
Alasdair Kergon
4bfa132445
When removing LV symlinks, skip any where the VG name is not determined.
2008-06-05 12:45:55 +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
dcd5353502
Correct config file line numbers in messages when parsing comments. (kabi)
2008-06-03 17:51:04 +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
bdce11cb30
Avoid spurious duplicate VG messages referring to VGs that are gone.
...
(untested)
2008-05-28 22:27:47 +00:00
Alasdair Kergon
ace5664e7d
Temporarily disable dmeventd mirror monitoring during lvchange --resync.
2008-05-21 14:10:11 +00:00
Alasdair Kergon
fc54be1062
Refactor some vginfo manipulation code.
2008-05-19 19:49:56 +00:00
Alasdair Kergon
98fd1ce332
More P_ and V_ lock cleanup.
2008-05-09 18:45:15 +00:00
Alasdair Kergon
3d6af3e35e
Add missing mutex around clvmd lvmcache_drop_metadata library call.
2008-05-09 15:13:20 +00:00
Christine Caulfield
5e91e174d3
Fix uninitialised mutex in clvmd if all daemons are not running at startup.
...
Thanks to Mark Hlawatschek for pointing this out.
2008-05-09 09:59:39 +00:00
Christine Caulfield
b1bf5f1738
Make clvmd-cman use a hash rather than an array for node updown info.
...
This will allow it to cope with very large nodeids such as those
generated by clusters using cman_tool join -X
2008-05-09 07:20:04 +00:00
Alasdair Kergon
1a20d53171
Avoid unnecessary unlock attempts with LCK_CACHE pseudo-locks.
2008-05-08 18:35:58 +00:00
Alasdair Kergon
3835ad6b1c
When asked to drop cached committed VG metadata, invalidate cached PV labels.
2008-05-08 18:28:27 +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
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
Christine Caulfield
d474909a58
. remove_lock_wait.diff remove the definition of "struct lock_wait",
...
which is not used since the switch away from async version saLck
. num_nodes should equal to member_list_entries, i.e.
joined_list_entires is 0 when a node leaves the group.
Thanks to Xinwei Hu for the patch.
2008-04-29 08:55:20 +00:00
Christine Caulfield
746e7dc42e
The attached patch is a try to make clvmd work correctly on openais stack.
...
It does 2 things.
1. The cpg_deliver_callback make a compare between target_nodeid and our_nodeid.
It turns out openais set target_nodeid to 0 sometimes. for broadcasting ? I change the behavior so that lvm will process_remote also on target_nodeid == 0
2. The joined_list passed to cpg_confchg_callback doesn't include the already exist nodes in the group, which leads to an incomplete node_hash. I simply add all other nodes in member_list to node_hash also.
Thanks to Xinwei Hu for this patch.
2008-04-28 08:57:11 +00:00
Alasdair Kergon
b5618c07d8
Exclude VG_GLOBAL from internal concurrent VG lock counter.
...
(Avoids 'device left open' warning messages from vgscan etc.)
2008-04-24 02:22:07 +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
Christine Caulfield
9ba7d6d08b
Simplify locking code by using saLckResourceLock rather than
...
saLckResourceLockAsync.
Thanks to Xinwei Hu for the patch.
2008-04-23 09:53:49 +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
Alasdair Kergon
a93ae114b8
Fix metadata corruption writing lvm1-formatted metadata with snapshots.
2008-04-22 11:47: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
7e305eda2f
Fix lvconvert -m0 allocatable space check.
2008-04-18 12:50:24 +00:00
Alasdair Kergon
f6a88f3236
post-release
2008-04-15 15:01:18 +00:00
Alasdair Kergon
a34eecedc2
pre-release
2008-04-15 14:49:17 +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
adb578238d
rename P_global to P_#global
2008-04-15 11:36:46 +00:00
Alasdair Kergon
c4afaa05a4
Don't attempt remote metadata backups of non-clustered VGs. (2.02.29)
2008-04-14 19:49:12 +00:00
Alasdair Kergon
8b1ae3c140
Don't store fid in VG metadata cache to avoid clvmd segfault. (2.02.34)
2008-04-14 19:24:16 +00:00
Dave Wysochanski
6920681cab
Update vgsplit test to verify loosening of active LV restriction.
...
This and prior 2 commits resolve Red Hat bz 252041:
Ability to vgsplit an active Volume Group where the split involves only inactive LVs
2008-04-10 21:38:52 +00:00
Alasdair Kergon
a6b0b935f6
post-release
2008-04-10 20:07:19 +00:00
Alasdair Kergon
3cde54c50e
.
2008-04-10 18:53:36 +00:00
Alasdair Kergon
9d527965a3
pre-release
2008-04-10 18:19:49 +00:00
Alasdair Kergon
2e050bfc36
Fix vgdisplay 'Cur LV' field to match lvdisplay output.
...
Fix lv_count report field to exclude hidden LVs.
2008-04-10 17:19:02 +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
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
f2696211dc
Update vgsplit tests for lvnames on the cmdline.
2008-04-09 14:47:34 +00:00
Dave Wysochanski
5656911ae7
Update vgsplit man page to reflect lvnames on cmdline.
2008-04-09 14:39:55 +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
f99a79b64a
*** empty log message ***
2008-04-08 22:02:16 +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
Christine Caulfield
e8d3d71e23
Add config file overrides to clvmd when it reads the LVs list so that
...
config items 'command_names' and 'prefix' don't prevent it working.
2008-04-08 13:03: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
Alasdair Kergon
ad607a23f1
create fids for internal orphan VGs
2008-04-07 22:12:37 +00:00
Milan Broz
d334793f2a
Update lvmcache VG lock state for all locking types now.
2008-04-07 19:17:29 +00:00
Milan Broz
8bf70e11ee
Fix output if overriding command_names on cmdline.
2008-04-07 13:53:26 +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
Milan Broz
d2901a62a4
Add validation of LV name to pvmove -n.
2008-04-04 11:59:31 +00:00
Christine Caulfield
ec074fcf64
If lvm.conf was touched, clvmd attempted to update the toolcontext
...
but only did half of the job. It now shares the do_refresh_cache()
function that vgscan invokes.
2008-04-04 08:53:47 +00:00
Alasdair Kergon
906935e580
Add some basic internal VG lock validation.
2008-04-03 18:56:40 +00:00
Alasdair Kergon
c6cb6ddfb2
.
2008-04-03 14:40:34 +00:00
Alasdair Kergon
ea0e92830a
.
2008-04-03 14:32:31 +00:00
Alasdair Kergon
810e500118
fix vd->virtblk
2008-04-03 10:29:00 +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
Alasdair Kergon
6e210a6c54
Cache VG metadata internally while VG lock is held.
2008-04-01 22:40:13 +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
Christine Caulfield
611c0689fc
Fix another allocation bug with clvmd and large node IDs.`
2008-04-01 15:01:30 +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
Christine Caulfield
2aa5120e82
Fix a couple of uninitialised variables. The newfd one could cause
...
some obscure hangs.
2008-03-28 12:58:09 +00:00
Dave Wysochanski
4f618eba00
Add vgmerge tests.
2008-03-26 18:03:35 +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
Dave Wysochanski
43aa463780
Add list_move() support function for list manipulation.
2008-03-26 16:20:54 +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
Alasdair Kergon
83465fde9b
Correct command name in lvmdiskscan man page.
2008-03-25 12:37:48 +00:00
Christine Caulfield
7750a1ade6
When reallocating the node IDs array, make it bigger rather than smaller!
2008-03-25 10:41:59 +00:00
Christine Caulfield
ed070f4105
Fix potential thread deadlock.
...
Also make local sockets non-blocking.
2008-03-17 09:37:47 +00:00
Alasdair Kergon
dc2bdce11e
Refactor text format initialisation into _init_text_import.
2008-03-13 12:33:22 +00:00
Alasdair Kergon
d4ce89d9da
Escape double quotes and backslashes in external metadata and config data.
...
Add functions for escaping double quotes in strings.
Rename count_chars_len to count_chars.
2008-03-12 16:03:22 +00:00
Alasdair Kergon
bcacf9d0e3
Use return_0 in a couple more places.
...
Correct a function name typo in _line_append error message.
2008-03-10 18:51:27 +00:00
Christine Caulfield
66db5dd894
Include limits.h so it compiles with newer headers.
2008-03-06 08:41:05 +00:00
Alasdair Kergon
7eda3692f6
add vd to filters
2008-03-05 18:15:04 +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
4349becadc
Remove redundant if-before-free tests in clvmd.c.
2008-02-15 14:12:32 +00:00
Jim Meyering
a34a6a3f71
is_orphan: make parameter "const" to avoid compiler warning
2008-02-13 20:01: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
Patrick Caulfield
08152c90f2
Update usage message for clvmd.
...
Fix clvmd man page printing <br>, clarified debug options.
2008-02-05 09:38:04 +00:00
Alasdair Kergon
f2f1da1831
post-release
2008-01-31 12:41:13 +00:00
Alasdair Kergon
12aa1a24e8
pre-release
2008-01-31 12:36:58 +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
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
962b2a559d
Rely upon internally-cached PV labels while corresponding VG lock is held.
2008-01-29 23:45:48 +00:00
Alasdair Kergon
8abe9ec33d
post-release
2008-01-29 12:02:04 +00:00
Alasdair Kergon
0dff5864a9
pre-release
2008-01-29 11:48:11 +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
311961fdb8
Fix internal metadata corruption in lvchange --resync.
2008-01-26 00:13:45 +00:00
Alasdair Kergon
d39a99b2da
update
2008-01-22 15:58:31 +00:00
Patrick Caulfield
5a3f869f7e
Remove redundant cnxman-socket.h file.
2008-01-21 14:07:46 +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
51581d4dfb
clarify
2008-01-19 12:36:37 +00:00
Alasdair Kergon
6903d5b2fe
post-release
2008-01-19 12:30:55 +00:00
Alasdair Kergon
0293b5f110
Pre-release
2008-01-19 12:28:03 +00:00
Alasdair Kergon
0e0a6eb6cf
Fix lvcreate --nosync not to wait for non-happening sync.
2008-01-18 22:02:37 +00:00