| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
Release allocated buffer on error path.
|
|
|
|
| |
Release allocated buffers in daemon_logf, daemon_log_parse
|
| |
|
| |
|
|
|
|
| |
Renamed discard -> discards
|
|
|
|
|
| |
Report warning if the kernel is not support given discards settings.
(In this case the behavior is equal to IGNORE.)
|
|
|
|
|
| |
If the discard was not set in metadata, use IGNORE, as this
is the equivalent behavior for this case.
|
|
|
|
|
| |
Disallow '-m' for RAID types that have no mirror component and disallow
'-i' argument for RAID types that have no stripe component.
|
|
|
|
|
|
|
|
|
|
|
| |
- logging is not controlled by "levels" but by "types"; types are
independent of each other... implementation of the usual "log level"
user-level semantics can be simply done on top; the immediate
application is enabling/disabling wire traffic logging independently
of other debug data, since the former is rather bulky and can easily
obscure almost everything else
- all logs go to "outlets", of which we currently have 2: syslog and
stderr; which "types" go to which "outlets" is entirely configurable
|
| |
|
|
|
|
| |
Global change from --discard to --discards, as that feels more natural.
|
| |
|
|
|
|
|
|
|
|
|
| |
Always store discard setting in LV metadata. (Note that lvcreate_params
doesn't yet use --discard to set the initial value.)
Remove undocumented env var LVM_THIN_VERSION_MIN that has no use on a
live system.
Change verbose 'feature not found' messages to debug.
Use discard_str for string value of discard.
|
| |
|
|
|
|
|
|
| |
args are listed alphabetically.
lvconvert -T is covered in the second section not the first.
It could be tidied further or split out.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
I think it's better not to abbreviate human-readable fields like
'discard' to a single character. Users can truncate it to the
first character themselves if they wish.
It's confusing to use the variable name discard for different things in
different places - use discard_str when it's a string not the enum.
|
|
|
|
| |
Log (very verbose) the target version present in target_version.
|
|
|
|
|
|
|
|
|
| |
Respond with "unknown" rather than a NULL pointer if there's an
internal error and the discard value is invalid.
Don't accept 'no_passdown' or 'no-passdown' variants in the LVM
metadata: this is written by the program so should only ever contain
"nopassdown" and should be validated strictly against that.
|
| |
|
|
|
|
| |
Miscellaneous clarifications to comments.
|
| |
|
|
|
|
|
|
|
|
|
| |
Remove the limit for major and minor number arguments used while specifying
persistent numbers via -My --major <major> --minor <minor> option which
was set to 255 before. Follow the kernel limit instead which is 12 bits
for major and 20 bits for minor number (kernel >= 2.6 and LVM formats
that does not have FMT_RESTRICTED_LVIDS - so still keep the old limit
of 255 for lvm1 format).
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Since now scripts builds binaries, build needs to wait for libs.
|
|
|
|
|
| |
O_CLOEXEC not actually needed, this is just a simple program,
it is not supposed to fork/exec anywhere and anytime in the future.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The lvm2 activation generator generates systemd units conditionally
based on the global/use_lvmetad lvm.conf setting.
If use_lvmetad=0, the lvm2-activation-early.service and lvm2-activation.service
units will be generated. These units are responsible for direct volume activation
by calling "vgchange -aay --sysinit" (this is actually the original on-boot
activation as it was used before). If use_lvmetad=1, no units will be generated
as we're relying on autoactivation.
Important thing to note is that the lvm2-activation units normally bring
in the udev-settle ("storage-wait") service that waits for udev to settle
(with block devices). We don't need this if lvmetad is used in conjunction
with autoactivation feature... but systemd units can't be enabled or disabled
(or dependencies added/removed) dynamically based on external configuration.
Therefore, we need the unit generator which adds support for such situations:
the units as a whole either exist or not based on the external configuration.
|
|
|
|
| |
To effectively retrieve the setting of anything that could be enabled or disabled.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Update version date.
|
| |
|
| |
|
|
|
|
|
| |
No longer capitalise first LV attribute char for invalid snapshots.
This state is available from the 5th char now (I or S).
|
|
|
|
|
| |
Allow --noflush with dmsetup status and wait (for thin target 1.3.0 /
ioctl 4.23.0).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Allowing people to add devices to a VG that has PVs missing helps
people avoid the inability to repair RAID LVs in certain cases.
For example, if a user creates a RAID 4/5/6 LV using all of the
available devices in a VG, there will be no spare devices to
repair the LV with if a device should fail. Further, because the
VG is missing a device, new devices cannot be added to allow the
repair. If 'vgreduce --removemissing' were attempted, the
"MISSING" PV could not be removed without also destroying the RAID
LV.
Allowing vgextend to operate solves the circular dependency.
When the PV is added by a vgextend operation, the sequence number is
incremented and the 'MISSING' flag is put on the PVs which are missing.
|
| |
|
|
|
|
|
|
|
| |
Monitoring is handled using "vgchange --monitor" call. Ensure that lvmetad is up
and running at the time of this call to prevent any fallback to direct scan
within the vgchange. The same applies for shutdown sequence but the other way
round - switch monitoring off and lvmetad afterwards.
|
|
|
|
| |
Recognise Micron PCIe SSDs in filter and move array out to device-types.h.
|
|
|
|
| |
Recognise Micron PCIe SSDs in filter and move array out to device-types.h.
|
| |
|