| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
| |
In a couple places, process_each_vg was used with a single
function that would iterate through each pv in the vg.
This is now what process_each_pv does, so use that.
|
|
|
|
|
|
|
|
| |
If a foreign VG is ignored when it's included by "all vgs",
then the command shouldn't fail.
If a foreign VG is ignored when it's named explicitly as
a command arg, then the command should fail.
|
|
|
|
| |
See included lvmsystemid(7) for full description.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
argv array fields
Fix lvm_split that is called when cmd line string is separated into
argv fields to recognize quote chars ('\'" and '"') properly and
when these quotes are used, consider the text within quotes as one
argument, do not separate it based on space characters inside.
The lvm_split is used during processing lvm shell command line or
when calling lvm commands through cmdlib (e.g. dmeventd plugins).
For example, the lvm shell scenario:
Before this patch:
$lvm
lvm> lvs --config 'global{ suffix=0 }'
Parse error at byte 9 (line 1): unexpected token
Failed to set overridden configuration entries.
With this patch applied:
$lvm
lvm> lvs --config 'global{ suffix=0 }'
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root fedora -wi-ao---- 9.00g
swap fedora -wi-ao---- 512.00m
(Exactly the same problem is hit when calling LVM commands with
quoted arguments via lvm2cmd lib in dmeventd plugins.)
|
|
|
|
| |
Was left unused from the last change to this function.
|
|
|
|
|
|
|
| |
Because of the recent change to process_each_pv(), the vg is always
provided when the pv is in a vg. is_pv(pv) means the pv is in a vg,
which means that the vg arg will not be NULL, which means the removed
block of code is not needed.
|
| |
|
|
|
|
|
| |
Relax validation to permit extent sizes > 128KB that are not powers of 2
with lvm2 format. Existing code was already capable of handling this.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug https://bugzilla.redhat.com/show_bug.cgi?id=843587 is handled better
now - the hang does not occur anymore. There are still error messages
issued though during shutdown if someone stops lvm2-lvmetad.service
manually that lvm2-monitor.service depends on (even during shutdown).
These errors are correct though and will point to incorrect
configuration (still having use_lvmetad=1 in lvm.conf and stopping
lvm2-lvmetad.service manually).
The workaround to prevent the hang is not needed now. So the
'--config "global{use_lvmetad=0}"' is now removed from the
lvm2-monitor.service's ExecStop line.
|
| |
|
| |
|
|
|
|
|
| |
Lets make a separate new function to validate names that has
to follow up restriction rules.
|
|
|
|
|
|
|
|
|
|
| |
for lvmetad
We can't hang on blocked or suspended devices when the scan is done
for lvmetad update - when the device gets unblocked or resumed, there's
always CHANGE event generated which will fire the udev rule to run
extra pvscan --cache for that device which makes sure that lvmetad
is up-to-date.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When we are given an existing LV name - it needs to be allowed
to pass in even restricted name as the LV could have existed
long before we introduced some new restriction on prefix/suffix.i
Fix the regression on name limits and drop restriction to be applied
on any existing LVs - only the new created LV names have to be
complient with current name restrictions.
FIXME: we are currently using restricted names incorrectly in few
other places - device_is_usable() skips restricted names,
and udev flags are also incorrectly set for restricted names
so these LVs are not getting links properly.
|
|
|
|
|
| |
Use some standard names for lv char * names, logical_volume * lv
and sizes internally.
|
| |
|
| |
|
|
|
|
| |
Skip some tests on systems without cache or raid.
|
| |
|
|
|
|
| |
Just skip using local vars here...
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
find_pv_in_vg
find_pv_in_vg fn iterates over the list of PVs covered by the VG and
each PV's pvl->pv->dev is compared with device acquired from device
cache. However, in case pvl->pv->dev is NULL as well as device cache
returns NULL (e.g. when device is filtered), we'll get incorrect match
and the code calling find_pv_in_vg uses incorrect PV (as it thinks
it's the exact PV with the pv_name). The INTERNAL_ERROR covers this
situation and errors out immediately.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The warnings arg was used to enable logging of warnings
when reading a PV. This arg is turned into a set of flags
with the WARN_PV_READ flag matching the existing behavior.
A new flag WARN_INCONSISTENT is added that will cause
vg_read_internal() to log the "VG is not consistent"
warning so the various callers do not need to log
this warning themselves.
A new vg_read flag READ_WARN_INCONSISTENT is used from
reporting to enable the WARN_INCONSISTENT flag in
vg_read_internal.
[Committed by agk with cosmetic changes and tweaks.]
|
|
|
|
|
|
| |
Adapt process_each_pv for use by vgreduce in the non-repair case.
[Committed by agk with cosmetic changes and tweaks.]
|
|
|
|
|
|
|
|
| |
Process PVs by iterating through VGs, then iterating through
devices if the command needs to process non-PV devices.
The process_single function can always use the VG and PV args.
[Committed by agk with cosmetic changes and tweaks.]
|
|
|
|
|
| |
Avoids message:
Metadata cache has no info for vgname: "#global"
|
|
|
|
|
|
| |
When converting an origin to a cache lv, lvm will automatically convert
the specified cache pool into a cache pool if it is not already a cache
pool.
|
| |
|
| |
|
|
|
|
|
|
| |
lvcreate of thin pools can now use '-n lv vg' like other lv types,
or it can name the new thin pool in the free arg as 'vg/lv', which
is not allowed with other lv types.
|
| |
|
|
|
|
| |
Checked stacking usage of thin pool data volume being cached.
|
|
|
|
| |
More tests.
|
|
|
|
| |
Many new tests
|
|
|
|
|
|
| |
Fix unsupportable case.
We cannot create thinpool and snapshot at the same time.
(-L could not have 2 meanings).
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Function get_only_segment_using_this_lv() already prints error,
no need to show more internal logic to user as an error.
|
|
|
|
| |
Use 1|0 inside _lvconvert_splitsnapshot to match rest of code.
|
|
|
|
| |
We could validation pool chunk size with a single function.
|
|
|
|
| |
Reuse thin validation code for cache pool validation.
|
|
|
|
|
| |
Earlier validation of --size and --extents.
Reject 0 size on command line instantly.
|