| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
. it's of little use since the thin pool cannot be extended
while it's using writecache.
. lvconvert --splitcache on tdata isn't working, the writecache
table doesn't get updated with the cleaner setting.
. adding writecache to existing tdata not yet implemented
|
|
|
|
| |
doesn't work on my machine
|
|
|
|
|
|
|
| |
filters needing io weren't being run because bcache
wasn't set up. Read the first 4k of the device
before doing filtering or reading ondisk structs to
reduce reads.
|
|
|
|
|
|
|
|
|
| |
It's possible for a machine with a non-4k page size
to create a PV with an mda_header at an offset other
than 4k. Fix pvck --dump to work with these other
mda offsets. pvck --repair will write a new first
mda at 4096 but lvm with other page sizes will work
with this.
|
|
|
|
| |
when either main or fast lvs are incomplete
|
|
|
|
| |
syncaction check will detect and correct integrity checksum mismatches.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The args for pvcreate/pvremove (and vgcreate/vgextend
when applicable) were not efficiently opened, scanned,
and filtered. This change reorganizes the opening
and filtering in the following steps:
- label scan and filter all devs
. open ro
. standard label scan at the start of command
- label scan and filter dev args
. open ro
. uses full md component check
. typically the first scan and filter of pvcreate devs
- close and reopen dev args
. open rw and excl
- repeat label scan and filter dev args
. using reopened rw excl fd
- wipe and write new headers
. using reopened rw excl fd
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Older blockdev tool return failure error code with --help,
and since now the tool abort on command failure, lets
detect missing --getsize64 support directly by running
command and check if it returns something usable.
It's likely very hard to have the system with
such old blockdev tool and newer lvm2 compiled.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
Since 'kilobytes' could be seen in 2 way - SI as '1000',
while all programmers sees it as '1024' - switch to
commonly acceptted KiB, MiB....
Resolves RHBZ 1496255.
|
|
|
|
| |
Just add space between %s(.
|
|
|
|
|
|
| |
Test case where filesystem has been corrected via fsck.
In such case fsck returns '1' as success and should be
handled in a same way as '0' since fs is correct.
|
|
|
|
|
|
|
| |
Set more secure bash failure mode for pipilines.
Avoid using unset variables.
Enhnace error reporting for failing command.
Avoid using error via 'case..esac || error'.
|
| |
|
|
|
|
| |
Use consistently $NULL as in other places.
|
|
|
|
|
|
| |
In some cases the dev size may not have been read yet
in set_pv_devices(). In this case get the dev size
before comparing the dev size with the pv size.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Restructure the pvscan code, and add new temporary files
that list pvids in a VG, used for processing PVs that
have no metadata.
The new temp files, in /run/lvm/pvs_lookup/<vgname>, allow a
proper pvscan --cache to be done on PVs that have no metadata.
pvscan --cache <dev> is only supposed to read <dev>, but when
<dev> has no metadata, this had not been possible. The
command had to fall back to scanning all devices to read all
VG metadata to get the list of all PVIDs needed to check for
a complete VG. Now, the temp file can be used in place of
reading metadata from all PVs on the system.
|
|
|
|
|
|
| |
label_scan_devs without invalidating data first
for cases where the caller wants to use any
bcache data they have already read.
|
|
|
|
|
|
|
| |
To read the lvm headers and set dev->pvid if the
device is a PV. Difference from label_scan_ functions
is this does not read any vg metadata or add any info
to lvmcache.
|
|
|
|
| |
for consistent naming with other similar functions
|
|
|
|
| |
for future patch
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Filtering in label_scan was controlled indirectly by
the fact that bcache was not yet set up when label_scan
first ran. The result is that filters that needed data
would not run and would return -EAGAIN, which would
result in the dev flag FILTER_AFTER_SCAN being set.
After the dev header was read for checking the label,
filters would be rechecked because of FILTER_AFTER_SCAN.
All filters would be checked this time because bcache
was now set up, and the filters needing data would
largely use data already scanned for reading the label.
This design worked but is hard to adjust for future
cases where bcache is already set up.
Replace this method (based on setting up bcache, or not)
with a new cmd flag filter_nodata_only. When this flag
is set filters that need data will not run. This allows
the same label_scan behavior when bcache has been set up.
There are no expected changes in behavior.
|
|
|
|
|
| |
When filter_nodata_only is set, a filter that uses
data is skipped.
|
|
|
|
| |
as passes_filter already does
|
|
|
|
| |
in a shared vg pvmove requires a named lv
|
|
|
|
|
| |
Check dmeventd remains working when reserved_stack
is above 300KiB.
|
|
|
|
|
|
| |
Touch of stack allocation validated given size with rlimit
and if the reserved_stack was above rlimit, its been completely
ignored - now we will always touch stack upto rlimit/2 size.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
cmd context has 'threaded' value that used be set
by clvmd - and allowed proper memory locking management.
Reuse same bit for dmeventd.
Since dmeventd is using 300KiB stack per thread,
we will ignore any user settings for allocation/reserved_stack
until some better solution is find.
This avoids crashing of dmevend when user changes this value
and because in most cases lvm2 should work ok with 64K stack
size, this change should not cause any problems.
|
|
|
|
|
|
| |
To be able to send messages for recently resumed devices,
move code into inner loop.
Matching commit c1a6b10d09aae6179e4f08c7d8c03d5e3068ad94.
|
|
|
|
|
|
|
| |
Check that type is always defined, if not make it explicit internal
error (although logged as debug - so catched only with proper lvm.conf
setting).
This ensures later type being NULL can't be dereferenced with coredump.
|
|
|
|
|
|
|
|
| |
DM tree keeps track of created device while preloading a device tree.
When fail occures during such preload, it will now try to remove
all created and preloaded device. This makes it easier to maintain
stacking of device, since we do not need to check in-depth for
existance of all possible created devices during the failure.
|
|
|
|
| |
Just check for sigint during log_error().
|
|
|
|
|
| |
Alhtough lvm2 does validation on its side, ensure DM code
is not sending messages to failed thin pool.
|
| |
|
|
|
|
|
| |
Move message sending from _thin_pool_node_message to
new _node_message for possible better code sharing.
|
|
|
|
|
|
|
| |
Patch 4de6f58085c533c79ce2e0db6cdeb6ed06fe05f8 introduce typo,
we need to use data_usage.
Note: this code was used by lvmapp library and currently is unused.
|
|
|
|
|
|
|
| |
Since 'BLKZEROOUT' streams out more block at once, at can easily
zero-out larger set of blocks after 1st. failing one.
So the test is adapted to fully 'hide' swap header under error target.
|
| |
|
| |
|
|
|
|
|
|
| |
The cpnversion of degraded RAID should still report a failure.
This reverts commit e12bdd591a1e60f055baee6cf5e9a144ea245a33.
|
|
|
|
| |
Update for new rpm requirement and use "..." words.
|
| |
|
|
|
|
|
|
| |
When ERR_DEV and ZERO_DEV are used, they are automatically
taken down when the last user no longer needs them,
so hide them from 'forgotten' device check.
|
|
|
|
|
|
|
| |
As there could be few invokes of stacktrace, avoid
repeatedly display logs from commands.
So after first display rename debug.log* -> debug_log
so the file still can remain for reading in test dir.
|
|
|
|
|
|
| |
From the code can be seen the VGID will be always NULL here
as vgid != NULL is already handled before.
Thus drop from being displayed.
|
|
|
|
| |
As the path already printed verbose message drop backtrace.
|
|
|
|
| |
Instead of not so useful backtrace, report what was the reason.
|