| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
| |
Calling vgscan alone should reuse information from the lvmetad (if running).
The --cache option should initiate direct device scan and update lvmetad
appropriately (if running).
This is mainly for vgscan to behave consistently compared to pvscan.
|
|
|
|
|
|
|
| |
Pvmove should never try to downgrade exclusive lock
for LVs.
This allows pvmove to work again for exclusive activated LVs.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
locally or on more nodes while others are activated exclusively.
Current pvmove code can either use local mirror (for exclusive
activation) or cmirror (for clustered LVs).
Because the whole intenal pvmove LV is just segmented LV containing
segments of several top-level LVs, code cannot properly handle
situation if some segment need to be activated exclusively.
Previously, it wrongly activated exclusive LV on all nodes
(locing code allowed it) but now this is no lnger possible.
If there is exclusively activated LV, pvmove is only
possible if all affected LVs are aslo activated exclusively.
(Note that in non-exclusive mode pvmove still activates LVs
on other nodes during move.)
# lvchange -aly vg_test/lv1
# lvchange -aey vg_test/lv2
# pvmove -i 1 /dev/sdc
Error locking on node bar-01: Device or resource busy
Error locking on node bar-03: Volume is busy on another node
...
Failed to activate lv2
|
|
|
|
|
|
|
| |
There is no real functional change in this patch except it
avoids checking cluster cmirror module twice.
(Flag used in following patch.)
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code adds better support for monitoring of thin pool devices.
update_pool_lv uses DMEVENTD_MONITOR_IGNORE to not manipulate with monitoring.
vgchange & lvchange are checking real thin pool device for existance
as we are using _tpool real device and visible LV pool device might not
be even active (_tpool is activated implicitely for any thin volume).
monitor_dev_for_events is another _lv_postorder like code it might be worth
to think about reusing it here - for now update the code to properly
monitory thin volume deps.
For unmonitoring add extra code to check the usage of thin pool - in case it's in use
unmonitoring of thin volume is skipped.
|
|
|
|
| |
by allowing arg_int_value to be used with groupable options.
|
| |
|
|
|
|
|
|
|
| |
Never return unfinished toolcontext - since error path is hit on
various stages of initialization we cannot leave it partially uninitialized,
since we would need to spread many more test across the code for config_valid.
Instead return NULL and properly release udev library resources as well.
|
|
|
|
|
|
|
|
|
|
| |
Fix regression in man page. The chunk size is in kilobyte units on command line
input though in the source code we work with sector size unit
so make it clear in the man page.
Update chunksize for thin pool in man page - it's max value is 1024M == 1G.
Fix warning range message to show proper max value.
|
| |
|
| |
|
| |
|
|
|
|
| |
Avoid use 32bit math for extent_size.
|
|
|
|
|
|
|
|
|
| |
If the lvcreate may decide some automagical values for a user,
try to keep the pool metadata size into 128MB range for optimal
perfomance (as suggested by Joe).
So if the pool metadata size and chunk_size were not specified,
try to select such values they would fit into 128MB size.
|
|
|
|
|
| |
Auto mode can't deal with multiple mangled names. We can do that while working
in hex mode, but in auto mode, this would lead to device name ambiguity.
|
|
|
|
| |
Processing loop needs some thinking
|
| |
|
|
|
|
| |
don't appear.
|
| |
|
|
|
|
|
|
| |
Move the code for poolmetadatasize operation into one place.
Report override for minimum and maximum size.
Drop _read_thin_params function its error reporting is handled elsewhere.
|
| |
|
|
|
|
|
|
|
| |
If no size was give the later added minimal size check efectively
disable this code. Also the argument for size now must be kept
in sector_size, so adding division by SECTOR_SIZE (moved into
a const expression)
|
|
|
|
|
|
| |
Hold global lock in pvscan --lvmetad. (This might need refinement.)
Add PV name to "PV gone" messages.
Adjust some log message severities. (More changes needed.)
|
| |
|
|
|
|
| |
Do not take correct fd as error result.
|
|
|
|
|
| |
Ensure _display_name() and _add_dep() would not deref NULL names.
Switch to use internal dm_basename().
|
| |
|
|
|
|
|
| |
FIXME: temporal quick hack to make things green
There might be a better reaction.
|
|
|
|
| |
Simplify segtype_str usage and check for NULL segtype.
|
| |
|
| |
|
|
|
|
| |
Using debug_t and some forgetten alloc_policy_t, force_t from past commit.
|
|
|
|
| |
Adding (void) where we cannot really report an error.
|
| |
|
|
|
|
| |
(Haven't checked error path handling though)
|
|
|
|
| |
alloc_policy_t, dm_string_mangling_t, percent_range_t, sign_t
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Addressing somewhat tricky bug here.
Since stdin,stdout,stderr were closed it's been occasionally possible to
see some unexpected messages to be flowing into a clvmd and generating some
randomly sized allocation of many megabytes. Since the message was not
being generated by standard send_message() construction, after some more
testing it apperead to be a debug log message - thus something has flown
to local socket opened on strandard out descriptor.
To fix the issue - use standard file descriptor duplication code for daemons.
For making easier debugging of polling daemon - developer might want to recompile
without modifition of standard file descriptors.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Also, add some comments to code that I recently added that may be unclear
otherwise.
|
|
|
|
| |
lvm.conf *and* lvmetad is running.
|
|
|
|
|
| |
The higher level RAIDs should be allowed for repair along with 'mirror' and
'raid1' segment types.
|
|
|
|
|
|
| |
There were no messages printed upon completiion of RAID device replacement.
This could cause confusion/concern during automated recovery, because the
user sees the failure messages but no other messages indicating correction.
|
|
|
|
| |
Functions at this level do return 0 or 1, not ECMD_* values.
|
|
|
|
|
|
|
|
|
|
| |
Read lvm.conf setting for monitoring for each command. So we should not
activate monitoring if the default compilation is set to monitor during
lvconvert commnads.
Patch also removes check for clustered VG and allows to disable monitoring
for clustered VG with the assumption, the problem with monitoring and dmeventd
flag passing for INGNORE is already fixed.
|
| |
|
|
|
|
|
| |
Segfault introduced with the patch that added dm_free(_table) at the
end of dmsetup (in this release).
|
|
|
|
| |
failure status there.
|