]> sourceware.org Git - lvm2.git/log
lvm2.git
10 years agodumpconfig: fix memleak when using --mergedconfig
Peter Rajnoha [Tue, 18 Mar 2014 10:04:21 +0000 (11:04 +0100)]
dumpconfig: fix memleak when using --mergedconfig

Check whether lvm dumpconfig --mergedconfig is used only
with --type current (where we're merging current config and
the config supplied on command line). With other types
the config was merged, but it was thrown away since we're
generating other type of config anyway. This lead to a memleak.

Error out if --mergedconfig is used with anything else than
--type current (or without specifying --type in which case
the --type current is used by default).

10 years agotests: use check lv_tree_on
Zdenek Kabelac [Tue, 18 Mar 2014 09:26:42 +0000 (10:26 +0100)]
tests: use check lv_tree_on

Use internal /lib function.
Reduce extent size for test to create smaller devices.

10 years agotests: more fedora kernels unusable for testing raid456
Zdenek Kabelac [Mon, 17 Mar 2014 17:38:59 +0000 (18:38 +0100)]
tests: more fedora kernels unusable for testing raid456

10 years agolvmcache: add mode debug prints
Zdenek Kabelac [Tue, 18 Mar 2014 09:24:32 +0000 (10:24 +0100)]
lvmcache: add mode debug prints

Decorate NULL returns with debug_cache output so the
debug log doesn't contain spurios <bactrace> line without
any reason for it.

Add internal errors when cache is misused.

10 years agoconfig: make global/lvdisplay_shows_full_device_path profilable
Peter Rajnoha [Tue, 18 Mar 2014 08:49:53 +0000 (09:49 +0100)]
config: make global/lvdisplay_shows_full_device_path profilable

10 years agoWHATS_NEW: previous commit
Peter Rajnoha [Tue, 18 Mar 2014 08:28:52 +0000 (09:28 +0100)]
WHATS_NEW: previous commit

10 years agoconfig: make global/suffix profilable and add it to lvm.conf
Peter Rajnoha [Tue, 18 Mar 2014 08:24:17 +0000 (09:24 +0100)]
config: make global/suffix profilable and add it to lvm.conf

The global/suffix was missing from example lvm.conf but it can
be very useful when using lvm in scripts and now in profiles as well
Let's expose it more.

10 years agodoc: cleanup/extend some man pages/conf comments
Peter Rajnoha [Tue, 18 Mar 2014 07:28:58 +0000 (08:28 +0100)]
doc: cleanup/extend some man pages/conf comments

man/lvm2-activation-generator.8:
  Generator Specification -> Generators Specification
  (this is the exact word in the systemd man page)

conf/example.conf.in:
  cleanup recent edits related to report section

man/lvm.conf.5:
  add a line about a possibility to generate a new
  profile with lvm dumpconfig command as an alternative
  to copying the default profile

10 years agotests: replace skip_if_mirror_recovery_broken
Zdenek Kabelac [Mon, 17 Mar 2014 15:32:42 +0000 (16:32 +0100)]
tests: replace skip_if_mirror_recovery_broken

Use mirror_recovery_works instead with easier to follow logic.

10 years agotests: quotes for LVM_TEST vars
Zdenek Kabelac [Mon, 17 Mar 2014 15:32:29 +0000 (16:32 +0100)]
tests: quotes for LVM_TEST vars

10 years agotests: put vars in quotes
Zdenek Kabelac [Mon, 17 Mar 2014 15:30:52 +0000 (16:30 +0100)]
tests: put vars in quotes

This shell var has space in middle

10 years agoconfig: make global/units and global/si_unit_consistency profilable
Peter Rajnoha [Mon, 17 Mar 2014 15:03:53 +0000 (16:03 +0100)]
config: make global/units and global/si_unit_consistency profilable

10 years agotests: make test usable in cluster
Zdenek Kabelac [Mon, 17 Mar 2014 14:18:20 +0000 (15:18 +0100)]
tests: make test usable in cluster

Origin needs exclusive activation

10 years agotests: update error message check
Zdenek Kabelac [Mon, 17 Mar 2014 14:18:02 +0000 (15:18 +0100)]
tests: update error message check

10 years agotests: zero and error type tests
Zdenek Kabelac [Mon, 17 Mar 2014 12:16:17 +0000 (13:16 +0100)]
tests: zero and error type tests

10 years agotests: lvconvert snapshot testing
Zdenek Kabelac [Mon, 17 Mar 2014 12:15:03 +0000 (13:15 +0100)]
tests: lvconvert snapshot testing

10 years agotests: enhance snapshot test
Zdenek Kabelac [Mon, 17 Mar 2014 12:08:23 +0000 (13:08 +0100)]
tests: enhance snapshot test

Improve cleanup routine and use it also for vg removal.

10 years agotests: put test envvar into braces
Zdenek Kabelac [Mon, 17 Mar 2014 08:35:59 +0000 (09:35 +0100)]
tests: put test envvar into braces

Ensure we not fail on space.

10 years agotests: skip mangling test
Zdenek Kabelac [Sun, 16 Mar 2014 22:48:07 +0000 (23:48 +0100)]
tests: skip mangling test

Mangling is only using dmsetup commands,
so there is no lvm command and no contact with
clvmd nor lvmetad so skip this test there.

10 years agotests: test spare volume removal
Zdenek Kabelac [Sun, 16 Mar 2014 22:47:43 +0000 (23:47 +0100)]
tests: test spare volume removal

10 years agotests: more coverage
Zdenek Kabelac [Sun, 16 Mar 2014 22:47:18 +0000 (23:47 +0100)]
tests: more coverage

10 years agotests: skip more Fedora kernels for raid456
Zdenek Kabelac [Sun, 16 Mar 2014 22:46:43 +0000 (23:46 +0100)]
tests: skip more Fedora kernels for raid456

10 years agotests: add more help text and paths quotes
Zdenek Kabelac [Fri, 14 Mar 2014 13:10:29 +0000 (14:10 +0100)]
tests: add more help text and paths quotes

Add LVM_VALGRDIN help text
Use proper quotes for  abs_  paths
(Assignment in makefile doesn't need them, only shell usage)

10 years agocleanup: relocate check for mirror
Zdenek Kabelac [Mon, 17 Mar 2014 13:05:17 +0000 (14:05 +0100)]
cleanup: relocate check for mirror

Move testing code into _lvconvert_snapshot function.

10 years agolvconvert: delay archiving of metadata
Zdenek Kabelac [Mon, 17 Mar 2014 12:07:08 +0000 (13:07 +0100)]
lvconvert: delay archiving of metadata

Delay archiving of metadata until we really start to
update metadata when converting volume into a snapshot.
Archive is not necessary when we abort operation early.

10 years agolvconvert: validate min chunk size for snapshot
Zdenek Kabelac [Mon, 17 Mar 2014 12:06:00 +0000 (13:06 +0100)]
lvconvert: validate min chunk size for snapshot

Do not allow conversion of too small LV into a COW snapshot device.

Without this patch snapshot target is generating these kernel
messages before creation fails:

attempt to access beyond end of device
dm-9: rw=16, want=8, limit=2
attempt to access beyond end of device
...
device-mapper: table: 253:11: snapshot: Failed to read snapshot metadata
device-mapper: ioctl: error adding target to table
device-mapper: reload ioctl on  failed: Input/output error

10 years agosnapshot: wrap min_chunk test into a lib function
Zdenek Kabelac [Mon, 17 Mar 2014 12:04:14 +0000 (13:04 +0100)]
snapshot: wrap min_chunk test into a lib function

Create a separate function to validation snapshot min chunk value
and relocate code into snapshot_manip file.

This function will be shared with lvconvert then.

10 years agolvconvert: disallow usage of origin for snapshot
Zdenek Kabelac [Mon, 17 Mar 2014 08:41:36 +0000 (09:41 +0100)]
lvconvert: disallow usage of origin for snapshot

Usage of origin as a snapshot 'COW' volume is unsupported.

Without this test lvm2 is able to generate this ugly internal error message.

To test this:

lvcreate -L1 -n lv1 vg
lvcreate -L1 -n lv2 -s vg/lv1
lvcreate -L1 -n lv3 vg
lvconvert -s vg/lv3 vg/lv1

Internal error: LVs (5) != visible LVs (1) + snapshots (1) + internal LVs (0) in VG vg

10 years agoconfig: make report settings profilable
Peter Rajnoha [Mon, 17 Mar 2014 13:27:49 +0000 (14:27 +0100)]
config: make report settings profilable

Users can create several profiles for how the tools report
the output very easily and then just use

  <lvm reporting command> --profile <report_profile_name>

10 years agoconf: add existing report settings to lvm.conf
Peter Rajnoha [Mon, 17 Mar 2014 13:24:21 +0000 (14:24 +0100)]
conf: add existing report settings to lvm.conf

These settings exist for ages but they were not exposed in lvm.conf
and so majority of users didn't event know about them.

10 years agotests: fix name-mangling test
Peter Rajnoha [Mon, 17 Mar 2014 10:51:30 +0000 (11:51 +0100)]
tests: fix name-mangling test

We need to use "--verifyudev" for dmsetup mangle command used in
the name-mangling test since without the --verifyudev, we'd end up
with the failed rename.

Also, add direct check for the dev nodes - node with old name must
be gone and node with new name must be present. Before, we checked
just the output of the command.

One bug popped up here when renaming with udev and libdevmapper
fallback checking the udev when target mangle mode is "none"
(fixme added in the libdevmapper's node rename code).

10 years agocleanup: use 'define' for systemd runtime unit file directory
Peter Rajnoha [Fri, 14 Mar 2014 14:57:28 +0000 (15:57 +0100)]
cleanup: use 'define' for systemd runtime unit file directory

10 years agoautoactivation: use VG read lock
Peter Rajnoha [Fri, 14 Mar 2014 11:07:41 +0000 (12:07 +0100)]
autoactivation: use VG read lock

The activation (including the refresh) should take the VG read lock
like the usual activation/refresh.

10 years agotests: use DMEVENTD_PIDFILE
Zdenek Kabelac [Fri, 14 Mar 2014 10:12:46 +0000 (11:12 +0100)]
tests: use DMEVENTD_PIDFILE

Test for compiled-in pidfile location
(so we are not based on assumption /var/run or /run link exists)

10 years agoautoactivation: issue a VG refresh before autoactivation only if 'change' lvmetad...
Peter Rajnoha [Fri, 14 Mar 2014 09:44:14 +0000 (10:44 +0100)]
autoactivation: issue a VG refresh before autoactivation only if 'change' lvmetad flag is set

This prevents numerous VG refreshes on each "pvscan --cache -aay" call
if the VG is found complete. We need to issue the refresh only if the PV:
  - is new
  - was gone before and now it reappears (device "unplug/plug back" scenario)
  - the metadata has changed

10 years agotests: quick update of location of pid file
Zdenek Kabelac [Fri, 14 Mar 2014 09:40:48 +0000 (10:40 +0100)]
tests: quick update of location of pid file

Until better fix is put in - replace with /run.

10 years agolvmetad: Fix pvmeta_old_{pvid,dev} logic when they are the same.
Petr Rockai [Fri, 14 Mar 2014 09:06:27 +0000 (10:06 +0100)]
lvmetad: Fix pvmeta_old_{pvid,dev} logic when they are the same.

10 years agolvmetad: Fix previous commit
Marian Csontos [Fri, 14 Mar 2014 07:09:37 +0000 (08:09 +0100)]
lvmetad: Fix previous commit

"%d" in buffer_append_vf is 64 bit wide. Using just `int` for the
variable will fetch more from va_list than intended and shifting
remaining arguments resulting in errors like:

    Internal error: Bad format string at '#orphan'

10 years agolvmetad: Indicate whether pv_found caused the VG to change.
Petr Rockai [Fri, 14 Mar 2014 02:04:09 +0000 (03:04 +0100)]
lvmetad: Indicate whether pv_found caused the VG to change.

10 years agolvmetad: Also return vgname in reply to pv_found requests.
Petr Rockai [Fri, 14 Mar 2014 01:40:20 +0000 (02:40 +0100)]
lvmetad: Also return vgname in reply to pv_found requests.

10 years agoman: Fix man page containing BUILDROOT
Marian Csontos [Thu, 13 Mar 2014 23:36:19 +0000 (00:36 +0100)]
man: Fix man page containing BUILDROOT

This breaks brew/koji as DESTDIR should not be contained in any file and
results in message like:

    + /usr/lib/rpm/check-buildroot
    /builddir/build/BUILDROOT/lvm2-2.02.106-0.311.el7.x86_64/usr/share/man/man8/lvm2-activation-generator.8:.B /builddir/build/BUILDROOT/lvm2-2.02.106-0.311.el7.x86_64/usr/lib/systemd/system-generators/lvm2-activation-generator
    Found '/builddir/build/BUILDROOT/lvm2-2.02.106-0.311.el7.x86_64' in installed files; aborting
    error: Bad exit status from /var/tmp/rpm-tmp.UfX2SX (%install)

10 years agoman: install lvm2-activation-generator man page only on make install_systemd_generators
Peter Rajnoha [Thu, 13 Mar 2014 12:17:58 +0000 (13:17 +0100)]
man: install lvm2-activation-generator man page only on make install_systemd_generators

10 years agoman: add man page for lvm2-activation-generator
Peter Rajnoha [Thu, 13 Mar 2014 12:01:06 +0000 (13:01 +0100)]
man: add man page for lvm2-activation-generator

10 years agodev_manager: check prohibited devices earlier
Zdenek Kabelac [Wed, 12 Mar 2014 18:38:34 +0000 (19:38 +0100)]
dev_manager: check prohibited devices earlier

Reorder detection for internal device - since this test
is much simpler then target analysis, check it sooner.

Replace test for '68' with sizeof & ID_LEN

Add FIXME about device alias problem with is_reserved_lvname,
since this test fails on devices like /dev/dm-X
so we need to convert tests to UUID.

10 years agocleanup: drop unused define
Zdenek Kabelac [Wed, 12 Mar 2014 18:12:34 +0000 (19:12 +0100)]
cleanup: drop unused define

10 years agotests: another kernel with unusable kmem_check
Zdenek Kabelac [Wed, 12 Mar 2014 15:16:41 +0000 (16:16 +0100)]
tests: another kernel with unusable kmem_check

10 years agoconfig: accept empty values for global/thin_disabled_features
Peter Rajnoha [Wed, 12 Mar 2014 14:53:20 +0000 (15:53 +0100)]
config: accept empty values for global/thin_disabled_features

Let's do this the other way round - this makes more logic than commit b995f06.
So let's allow empty values for global/thin_disabled_features where
such an empty value now means "none of this features are disabled".

10 years agoconfig: mark global/thin_disabled_features as having no default value
Peter Rajnoha [Wed, 12 Mar 2014 14:17:52 +0000 (15:17 +0100)]
config: mark global/thin_disabled_features as having no default value

The global/thin_disabled_features should be marked as having no default
value. Otherwise the output from 'lvm dumpconfig --type default' would
have 'thin_disabled_features=""' which will produce an error message
'Ignoring empty string in config file ...' if such output is feed
back to lvm.

10 years agotests: check we are no reading pool device
Zdenek Kabelac [Tue, 11 Mar 2014 23:26:47 +0000 (00:26 +0100)]
tests: check we are no reading pool device

10 years agotests: add inactive pool creation test
Zdenek Kabelac [Tue, 11 Mar 2014 23:25:59 +0000 (00:25 +0100)]
tests: add inactive pool creation test

10 years agothin: add pool uuid suffix for pool volume
Zdenek Kabelac [Tue, 11 Mar 2014 16:14:01 +0000 (17:14 +0100)]
thin: add pool uuid suffix for pool volume

Even though we make pool volume as a public visible LV,
we still do not want tools to look at this volume.

While we do not create /dev/vg/lv link, device is still
accessible via /dev/mapper/vg-lv and there is no easy
way to recognize it's private without lvm2 metadata.

Enhance UUID with -pool suffix and directly skip
any LV with a suffix in  device_is_usable() call.

TODO: enhance other targets with this logic.
blkid may probably use same simple logic.

10 years agothin: always activate and deactive pool when creating
Zdenek Kabelac [Tue, 11 Mar 2014 22:07:41 +0000 (23:07 +0100)]
thin: always activate and deactive pool when creating

When we create thin-pool we have used trick to keep
volume active, but since we now support TEMPORARY flag,
we could just localy active & deactive metadata LV,
and let the thinpool through normal activation process.

10 years agolvm: change build_dm_uuid API
Zdenek Kabelac [Tue, 11 Mar 2014 16:13:47 +0000 (17:13 +0100)]
lvm: change build_dm_uuid API

Pass directly 'lv' into this build routine,
so we can eventually add more private UUID suffixes.

10 years agothin: do not check of empty pool with messages
Zdenek Kabelac [Tue, 11 Mar 2014 21:54:33 +0000 (22:54 +0100)]
thin: do not check of empty pool with messages

The empty pool is also the pool which has yet queued list of messages
and transaction_id == 1.

Problem is exposed when pool is created inactive.

lvcreate -L10 -T vg/pool -an
lvcreate -V10 -T vg/pool

10 years agothin: fix pool_has_message return for NULL params
Zdenek Kabelac [Tue, 11 Mar 2014 21:50:23 +0000 (22:50 +0100)]
thin: fix pool_has_message return for NULL params

When pool_has_message() is queried with NULL lv and 0 device_id
it should just return 'true' when there is any message queued.
So it needs to return negative value dm_list_empty().

Since there is no user for this code path in code currently,
this bug has not been triggered.

10 years agoautoreconf: sync configure with current configure.in
Peter Rajnoha [Tue, 11 Mar 2014 15:32:02 +0000 (16:32 +0100)]
autoreconf: sync configure with current configure.in

10 years agoclvmd: fix the len setting in last commit
Zdenek Kabelac [Mon, 10 Mar 2014 11:35:44 +0000 (12:35 +0100)]
clvmd: fix the len setting in last commit

When theoretically sending 0 length buffer, ensure 0 is returned.

10 years agotests: dmeventd valgrind testing
Zdenek Kabelac [Sat, 8 Mar 2014 22:19:26 +0000 (23:19 +0100)]
tests: dmeventd valgrind testing

10 years agotests: aux adds kill_sleep_kill_
Zdenek Kabelac [Sun, 9 Mar 2014 21:55:11 +0000 (22:55 +0100)]
tests: aux adds kill_sleep_kill_

Move common code to subfunction

10 years agotests: drop unused make_ioerror
Zdenek Kabelac [Sun, 9 Mar 2014 21:54:24 +0000 (22:54 +0100)]
tests: drop unused make_ioerror

10 years agotests: workaround bash bug
Zdenek Kabelac [Sat, 8 Mar 2014 22:07:50 +0000 (23:07 +0100)]
tests: workaround bash bug

Seems new bash4.3 is somewhat buggy
https://bugzilla.redhat.com/show_bug.cgi?id=1074202

Put in cheap workaround for now.

10 years agotests: skip valgrind testing when assigned to 0
Zdenek Kabelac [Sat, 8 Mar 2014 21:53:23 +0000 (22:53 +0100)]
tests: skip valgrind testing when assigned to 0

When LVM_VALGRIND_CLVMD/LVMETAD is set to 0  skip testing.
(Proviosly any value caused to run valgrind testing,
so now '0' skips testing))

10 years agotests: skip another kernel
Zdenek Kabelac [Sat, 8 Mar 2014 21:38:06 +0000 (22:38 +0100)]
tests: skip another kernel

This kernel has still buggy kmem_cache debugging so skip it for raid456.

10 years agotests: improve wait for open
Zdenek Kabelac [Fri, 7 Mar 2014 18:26:37 +0000 (19:26 +0100)]
tests: improve wait for open

Add loop to detect open device from 'sleep <'

10 years agotests: reuse existing check dev_md5sum
Zdenek Kabelac [Fri, 7 Mar 2014 09:51:14 +0000 (10:51 +0100)]
tests: reuse existing check dev_md5sum

Create md5sum in reusable way and use exiting check function.

10 years agocleanup: dmeventd convert multiline to single line
Zdenek Kabelac [Mon, 10 Mar 2014 08:45:03 +0000 (09:45 +0100)]
cleanup: dmeventd convert multiline to single line

Instead of doing multiple different calls, select
stream within a condition.

Replace fprintf with fputc for '\n'

10 years agocleanup: dmeventd code simplified
Zdenek Kabelac [Mon, 10 Mar 2014 08:44:26 +0000 (09:44 +0100)]
cleanup: dmeventd code simplified

Improve readbility of code.

10 years agocleanup: clvmd use struct initializers
Zdenek Kabelac [Sat, 8 Mar 2014 21:58:37 +0000 (22:58 +0100)]
cleanup: clvmd use struct initializers

Simplify code, and use compiler capability to
initilize struct members on its own.

10 years agocleanup: clvmd use else if
Zdenek Kabelac [Sat, 8 Mar 2014 21:57:31 +0000 (22:57 +0100)]
cleanup: clvmd use else if

When string already matches, skip rest of tests.

10 years agocleanup: clvmd assign NULL to pointers
Zdenek Kabelac [Mon, 10 Mar 2014 11:16:09 +0000 (12:16 +0100)]
cleanup: clvmd assign NULL to pointers

Use NULL when assigning to void*.

10 years agocleanup: clvmd indent changes
Zdenek Kabelac [Mon, 10 Mar 2014 11:15:26 +0000 (12:15 +0100)]
cleanup: clvmd indent changes

Improve readbility of clvmd code.
Remove some unneeded braces.

10 years agocleanup: clvmd simplify loops
Zdenek Kabelac [Mon, 10 Mar 2014 11:15:41 +0000 (12:15 +0100)]
cleanup: clvmd simplify loops

Rewrite write loops to be more readable.

10 years agocleanup: clvmd rewrite send_message
Zdenek Kabelac [Sat, 8 Mar 2014 22:14:46 +0000 (23:14 +0100)]
cleanup: clvmd rewrite send_message

Improve readability of code and make it clear what it tries
to achieve.

10 years agocleanup: clvmd reindent lock_vg code
Zdenek Kabelac [Fri, 7 Mar 2014 19:24:46 +0000 (20:24 +0100)]
cleanup: clvmd reindent lock_vg code

Code had wrong indent level, improve readability.

10 years agodmeventd: wakeup timeout thread earlier
Zdenek Kabelac [Mon, 10 Mar 2014 08:40:32 +0000 (09:40 +0100)]
dmeventd: wakeup timeout thread earlier

When the last entry in the timeout queue is unregistered,
wakeup sleeping condition, so the thread is deleted earlier.
So the thread resource is release earlier.

Also when monitored with tools like valgrind this eliminites reported
leak.

10 years agodmeventd: remember number of log disablings
Zdenek Kabelac [Mon, 10 Mar 2014 08:47:44 +0000 (09:47 +0100)]
dmeventd: remember number of log disablings

Individual events are handled through separate threads,
so once we have more then a single thread in this eventwait
sleeping, we got race on the dm_log setting, since
if one event is timeout out on alarm, while another is still waiting,
then dm log has been restored to NULL and the next sigalarm
has been reported as error.

Fix it by introducing counter which is protected via mutex,
and only when the last event is released, logging is restored.

TODO: libdm seems to have some static vars which may audit
for this type of use.

10 years agoclvmd: fix memleak on exit
Zdenek Kabelac [Sat, 8 Mar 2014 22:16:31 +0000 (23:16 +0100)]
clvmd: fix memleak on exit

This patch will releases allocated private resources from
startup. Needs previous dm_zalloc patch to ensure unset
private pointer is NULL.

TODO: check on real cluster.

10 years agoclvmd: use dm_zalloc for socket allocation
Zdenek Kabelac [Sat, 8 Mar 2014 21:55:47 +0000 (22:55 +0100)]
clvmd: use dm_zalloc for socket allocation

Instead of doing individual settings for struct members,
ensure whole struct is in defined state.

10 years agoconfig: keep config paths with variable names properly marked on output
Peter Rajnoha [Fri, 7 Mar 2014 17:04:02 +0000 (18:04 +0100)]
config: keep config paths with variable names properly marked on output

10 years agoconfig: use small local static buffer instead of mempool for temporary config path
Peter Rajnoha [Fri, 7 Mar 2014 16:44:36 +0000 (17:44 +0100)]
config: use small local static buffer instead of mempool for temporary config path

We can't use mempool for temporary variable for configuration path inside
find_config_tree_* functions since these functions can use the mempool
themselves deeper in the code and we can free mempool chunks only from
top to bottom which is not the case here (some default string
configuration values can be allocated from the mempool).

10 years agocleanup: remove superfluous slash in default cache dir path
Peter Rajnoha [Fri, 7 Mar 2014 12:03:09 +0000 (13:03 +0100)]
cleanup: remove superfluous slash in default cache dir path

10 years agotests: updates for new test
Zdenek Kabelac [Thu, 6 Mar 2014 16:55:58 +0000 (17:55 +0100)]
tests: updates for new test

snaphost needs exclusive origin for cluster
older md5 needs 2 space char

10 years agotests: check created snapshot has good max size
Zdenek Kabelac [Thu, 6 Mar 2014 16:19:35 +0000 (17:19 +0100)]
tests: check created snapshot has good max size

Testing if we are creating large enough old-snapshot
(so the COW max size is correct)
https://bugzilla.redhat.com/show_bug.cgi?id=1035871

10 years agotests: detect old-snap metadata consitency
Zdenek Kabelac [Tue, 4 Mar 2014 22:47:22 +0000 (23:47 +0100)]
tests: detect old-snap metadata consitency

Add some test for correctness of snapshot metadata.
Based upon original test from Mikulas.
Needs correctly working kernel snapshot target.

10 years agomakefiles: link blkid library only to lvm
Zdenek Kabelac [Thu, 6 Mar 2014 15:26:18 +0000 (16:26 +0100)]
makefiles: link blkid library only to lvm

Don't add blkid to every linkage.
Link udev library just with lvm tools.
Drop extra linkage of udev library, since deps from libdevmapper
are already resolved in linked -ldevmapper.

10 years agomakefiles: use BLKID/UDEV_CFLAGS properly
Zdenek Kabelac [Thu, 6 Mar 2014 15:03:08 +0000 (16:03 +0100)]
makefiles: use BLKID/UDEV_CFLAGS properly

blkid.h needs BLKID_CFLAGS
Do not add UDEV_CFLAGS everywhere and use it only when needed.

10 years agoreadline: switch to new-style readline typedef
Zdenek Kabelac [Thu, 6 Mar 2014 15:04:19 +0000 (16:04 +0100)]
readline: switch to new-style readline typedef

Based on patch:
https://www.redhat.com/archives/lvm-devel/2014-March/msg00015.html

The CPPFunction typedef (among others) have been deprecated in favour of
specific prototyped typedefs since readline 4.2 (circa 2001).
It's been working since because compatibility typedefs have been in
place until they where removed in the recent readline 6.3 release.
Switch to the new style to avoid build breakage.

But also add full backward compatibility with define.

Signed-off-by: Gustavo Zacarias <gustavo zacarias com ar>
10 years agoconfigure: drop duplicated SUBST
Zdenek Kabelac [Thu, 6 Mar 2014 15:00:04 +0000 (16:00 +0100)]
configure: drop duplicated SUBST

These subst are already there from pkg_config

10 years agotests: fix name-mangling test and remove udev transaction in dmsetup wrapper
Peter Rajnoha [Thu, 6 Mar 2014 13:46:50 +0000 (14:46 +0100)]
tests: fix name-mangling test and remove udev transaction in dmsetup wrapper

10 years agoWHATS_NEW: config handling changes
Peter Rajnoha [Thu, 6 Mar 2014 12:03:51 +0000 (13:03 +0100)]
WHATS_NEW: config handling changes

10 years agocleanup: remove superfluous forward declaration
Peter Rajnoha [Thu, 6 Mar 2014 11:43:21 +0000 (12:43 +0100)]
cleanup: remove superfluous forward declaration

10 years agoconfig: add default for allocation/cache_pool_chunk_size
Peter Rajnoha [Tue, 4 Mar 2014 10:15:54 +0000 (11:15 +0100)]
config: add default for allocation/cache_pool_chunk_size

The same as for allocation/thin_pool_chunk_size - the default value
used is just a starting point. The calculation continues using the
properties of the devices actually used.

10 years agoconfig: runtime default for allocation/thin_pool_chunk_size
Peter Rajnoha [Tue, 4 Mar 2014 10:10:59 +0000 (11:10 +0100)]
config: runtime default for allocation/thin_pool_chunk_size

The allocation/thin_pool_chunk_size is a bit more complex. It's default
value is evaluated in runtime based on selected thin_pool_chunk_size_policy.
But the value is just a starting point. The calculation then continues
with dependency on the properties of the devices used. Which means for
such a default value, we know only the starting value.

10 years agoconfig: separate cfg_def_default_value_hint out of cfg_def_get_default_value
Peter Rajnoha [Tue, 4 Mar 2014 09:29:08 +0000 (10:29 +0100)]
config: separate cfg_def_default_value_hint out of cfg_def_get_default_value

If the config setting is defined as having no default value, but it's
still not NULL, it means such a value acts as a *hint* only
(e.g. a starting value from which the default value is calculated).

The new "cfg_def_get_default_value_hint" will always return the value
as defined in config_settings.h.

The original "cfg_def_get_default_value" will always return 0/NULL if
the config setting is defined with CFG_DEFAULT_UNDEFINED flag (hence
ignoring the hint).

This is needed for proper distiction between a correct default value
and the value which is just a hint or a starting point in calculation,
but it's not the final value (yes, we do have such settings!).

10 years agoconfig: runtime default for activation/mirror_image_fault_policy
Peter Rajnoha [Mon, 3 Mar 2014 12:37:35 +0000 (13:37 +0100)]
config: runtime default for activation/mirror_image_fault_policy

The activation/mirror_image_fault_policy default value copies the
value (or default one) used for activation/mirror_device_fault_policy.

10 years agoconfig: runtime default for config/profile_dir
Peter Rajnoha [Mon, 3 Mar 2014 12:30:13 +0000 (13:30 +0100)]
config: runtime default for config/profile_dir

The config/profile_dir default value takes LVM_SYSTEM_DIR into consideraton.

10 years agoconfig: runtime default for backup/backup_dir, backup/archive_dir
Peter Rajnoha [Mon, 3 Mar 2014 12:24:30 +0000 (13:24 +0100)]
config: runtime default for backup/backup_dir, backup/archive_dir

The backup/backup_dir and backup/archive_dir default value is evaluated
in runtime and takes LVM_SYSTEM_DIR into consideration...

10 years agoconfig: runtime default for devices/cache, devices/cache_dir
Peter Rajnoha [Mon, 3 Mar 2014 11:47:32 +0000 (12:47 +0100)]
config: runtime default for devices/cache, devices/cache_dir

The devices/cache and devices/cache_dir are evaluated in runtime this way:

  - if devices/cache is set, use it

  - if devices_cache/dir or devices/cache_file_prefix is set, make up a
    path out of that for devices/cache in runtime, taking into account
    the LVM_SYSTEM_DIR environment variable if set

  - otherwise make up the path out of default which is:
    <LVM_SYSTEM_DIR>/<cache_dir>/<cache_file_prefix>.cache

With the runtime defaults, we can encode this easily now. Also, the lvm
dumpconfig can show proper and exact information about this setting then
(the variant that shows default values).

10 years agoconfig: add CFG_DEFAULT_RUN_TIME for config options with runtime defaults
Peter Rajnoha [Mon, 3 Mar 2014 11:34:11 +0000 (12:34 +0100)]
config: add CFG_DEFAULT_RUN_TIME for config options with runtime defaults

Previously, we declared a default value as undefined ("NULL") for
settings which require runtime context to be set first (e.g. settings
for paths that rely on SYSTEM_DIR environment variable or they depend
on any other setting in some way).

If we want to output default values as they are really used in runtime,
we should make it possible to define a default value as function which
is evaluated, not just providing a firm constant value as it was before.

This patch defines simple prototypes for such functions. Also, there's
new helper macros "cfg_runtime" and "cfg_array_runtime" - they provide
exactly the same functionality as the original "cfg" and "cfg_array"
macros when defining the configuration settings in config_settings.h,
but they don't set the constant default value. Instead, they automatically
link the configuration setting definition with one of these functions:

  typedef int (*t_fn_CFG_TYPE_BOOL) (struct cmd_context *cmd, struct profile *profile);
  typedef int (*t_fn_CFG_TYPE_INT) (struct cmd_context *cmd, struct profile *profile);
  typedef float (*t_fn_CFG_TYPE_FLOAT) (struct cmd_context *cmd, struct profile *profile);
  typedef const char* (*t_fn_CFG_TYPE_STRING) (struct cmd_context *cmd, struct profile *profile);
  typedef const char* (*t_fn_CFG_TYPE_ARRAY) (struct cmd_context *cmd, struct profile *profile);

(The new macros actually set the CFG_DEFAULT_RUNTIME flag properly and
set the default value link to the function accordingly).

Then such configuration setting requires a function of selected type to
be defined. This function has a predefined name:

  get_default_<id>

...where the <id> is the id of the setting as defined in
config_settings.h. For example "backup_archive_dir_CFG" if defined
as a setting with default value evaluated in runtime with "cfg_runtime"
will automatically have "get_default_backup_archive_dir_CFG" function
linked to this setting to get the default value.

10 years agoconfig: use mempool for config paths used in find_config_tree_* functions
Peter Rajnoha [Mon, 3 Mar 2014 11:29:25 +0000 (12:29 +0100)]
config: use mempool for config paths used in find_config_tree_* functions

Using mempool is much safer than using the global static variable.
The global variable would be rewritten on each find_config_tree_* call
and we need to be very careful not to get into this problem (we don't
do now, but we can with the patches for "runtime defaults" that will follow).

This page took 0.086279 seconds and 5 git commands to generate.