]> sourceware.org Git - lvm2.git/log
lvm2.git
13 years agoDo not scan device if it is part of active multipath.
Milan Broz [Fri, 11 Nov 2011 15:11:08 +0000 (15:11 +0000)]
Do not scan device if it is part of active multipath.

Add filter which tries to check if scanned device is part
of active multipath.

Firstly, only SCSI major number devices are handled in filter.

Then it checks if device has exactly one holder (in sysfs) and
if it is device-mapper device and DM-UUID is prefixed by "MPATH-".

If so, this device is filtered out.

The whole filter can be switched off by setting
mpath_component_detection in lvm.conf.

https://bugzilla.redhat.com/show_bug.cgi?id=597010

Signed-off-by: Milan Broz <mbroz@redhat.com>
13 years agoThin send create_snap message
Zdenek Kabelac [Thu, 10 Nov 2011 15:30:59 +0000 (15:30 +0000)]
Thin send create_snap message

Start creating snapshots for real.
Update test suite to check it happens.

13 years agoThin update testing script
Zdenek Kabelac [Thu, 10 Nov 2011 12:44:33 +0000 (12:44 +0000)]
Thin update testing script

13 years agoAdd generic function to check for target version
Zdenek Kabelac [Thu, 10 Nov 2011 12:44:00 +0000 (12:44 +0000)]
Add generic function to check for target version

So the test script may use a simple line like i.e.:

aux target_at_least dm-thin-pool 1 0 0 || skip
aux target_at_least snapshot-origin 1 6 || skip

13 years agoSmall comment and indent updates
Zdenek Kabelac [Thu, 10 Nov 2011 12:43:05 +0000 (12:43 +0000)]
Small comment and indent updates

13 years agoThin test min thin_pool size for at least 1 chunk
Zdenek Kabelac [Thu, 10 Nov 2011 12:42:36 +0000 (12:42 +0000)]
Thin test min thin_pool size for at least 1 chunk

13 years agoThin align volume size on chunk boundary size
Zdenek Kabelac [Thu, 10 Nov 2011 12:42:15 +0000 (12:42 +0000)]
Thin align volume size on chunk boundary size

If the extent_size is smaller then the chunk_size we may try
to find better aligment (wasting less space).

i.e. using  4KB extent_size and  64KB chunk size will
lead to creation of 64KB aligned thin volume.

13 years agoThin lvcreate manpage
Zdenek Kabelac [Thu, 10 Nov 2011 12:41:39 +0000 (12:41 +0000)]
Thin lvcreate manpage

Merge thin creation into standard 1st. lvcreate.
Update snapshot for thin support.

13 years agoThin move _read_activation_params check
Zdenek Kabelac [Thu, 10 Nov 2011 12:40:29 +0000 (12:40 +0000)]
Thin move _read_activation_params check

Since we finaly recognize thin creation only after
_determine_snapshot_type() - move _read_activation_params()
after it - so we can support  lvcreate -an thin snapshot.

13 years agoThin create normal (old) snapshot when size is specified
Zdenek Kabelac [Thu, 10 Nov 2011 12:39:46 +0000 (12:39 +0000)]
Thin create normal (old) snapshot when size is specified

13 years agoThin disable pool create without activation
Zdenek Kabelac [Thu, 10 Nov 2011 12:39:01 +0000 (12:39 +0000)]
Thin disable pool create without activation

13 years agoAdd missing free() for line that is malloc()'d by getline().
Mike Snitzer [Tue, 8 Nov 2011 19:02:21 +0000 (19:02 +0000)]
Add missing free() for line that is malloc()'d by getline().

13 years agoFix _get_proc_number to be tolerant of malformed /proc/misc entries.
Mike Snitzer [Tue, 8 Nov 2011 17:32:10 +0000 (17:32 +0000)]
Fix _get_proc_number to be tolerant of malformed /proc/misc entries.

Fixes issue reported here: http://lkml.org/lkml/2011/11/8/190

13 years agoThin ensure pool table is update after resize
Zdenek Kabelac [Tue, 8 Nov 2011 12:19:53 +0000 (12:19 +0000)]
Thin ensure pool table is update after resize

Always make sure table gets reloaded.
For now activate and deactivate pool volume if it's not active.

FIXME: we could do this only if we are sure some thin volume is alive.

13 years agoUpdate lvs man page style.
Zdenek Kabelac [Tue, 8 Nov 2011 12:16:53 +0000 (12:16 +0000)]
Update  lvs man page style.

13 years agoMore lvcreate man updates
Zdenek Kabelac [Tue, 8 Nov 2011 12:12:31 +0000 (12:12 +0000)]
More lvcreate man updates

Use  { Name | Path } consistently like elsewhere.
Move --thin alphabetically before --type.

13 years agoCorrectly handle concurrent read (CR) locks in singlenode clvmd. This means
Petr Rockai [Mon, 7 Nov 2011 17:11:23 +0000 (17:11 +0000)]
Correctly handle concurrent read (CR) locks in singlenode clvmd. This means
that we can also test clustered volume groups (vgcreate -c y) in the test
suite. Unfortunately we can't make this the testing default since cluster
mirrors require further infrastructure, and snapshots probably don't work at
all. I'll eventually add a few test cases that create clustered VGs
specifically.

13 years agoDo not repeat a failed test's output when VERBOSE is in effect.
Petr Rockai [Mon, 7 Nov 2011 17:02:56 +0000 (17:02 +0000)]
Do not repeat a failed test's output when VERBOSE is in effect.

13 years agoMust not override alloc policy specified by user.
Alasdair Kergon [Mon, 7 Nov 2011 13:54:54 +0000 (13:54 +0000)]
Must not override alloc policy specified by user.

13 years agoThin add error message for double delete
Zdenek Kabelac [Mon, 7 Nov 2011 11:04:45 +0000 (11:04 +0000)]
Thin add error message for double delete

Add few more internal error messages.

13 years agoThin supports snapshots
Zdenek Kabelac [Mon, 7 Nov 2011 11:03:47 +0000 (11:03 +0000)]
Thin supports snapshots

Full support for thin snapshots.
Create and remove is supported.

TODO: lvconvert support is not yes available.

13 years agoAdd missing default LVM_VG_NAME
Zdenek Kabelac [Mon, 7 Nov 2011 11:01:53 +0000 (11:01 +0000)]
Add missing default LVM_VG_NAME

Add support for exported shell variable LVM_VG_NAME also
for thins and snapshots.

13 years agoThin lvcreate poolmetadatasize units doc
Zdenek Kabelac [Mon, 7 Nov 2011 10:59:55 +0000 (10:59 +0000)]
Thin lvcreate poolmetadatasize units doc

13 years agoThin reindent code
Zdenek Kabelac [Mon, 7 Nov 2011 10:59:07 +0000 (10:59 +0000)]
Thin reindent code

Drop indention level
Add extra internal error.

13 years agoThin revert code for exclusive pool activation
Zdenek Kabelac [Mon, 7 Nov 2011 10:58:13 +0000 (10:58 +0000)]
Thin revert code for exclusive pool activation

There are no limits on thin-pool activation now.
Revert code that is no longer needed.

13 years agoAvoid lvextend to overflow
Zdenek Kabelac [Fri, 4 Nov 2011 22:49:53 +0000 (22:49 +0000)]
Avoid lvextend to overflow

Add extra check to extent_count overflow.
Use internal define MAX_EXTENT_COUNT instead UINT32_MAX.

13 years agoThin lvcreate man update
Zdenek Kabelac [Fri, 4 Nov 2011 22:47:17 +0000 (22:47 +0000)]
Thin lvcreate man update

Added poolmetadatasize options
Add an example.

13 years agoThin pool allocation simplified
Zdenek Kabelac [Fri, 4 Nov 2011 22:45:52 +0000 (22:45 +0000)]
Thin pool allocation simplified

Support allocation of metadata from the same PV, if the VG
is build only from one PV.

As thinp is not mirror - we do not require 2 PVs
for basic thin usage as user is losing only perfomance.

13 years agoThin add thin_pool_metadata_require_separate_pvs
Zdenek Kabelac [Fri, 4 Nov 2011 22:44:21 +0000 (22:44 +0000)]
Thin add thin_pool_metadata_require_separate_pvs

Allow to set different policy for pool from mirrors.

13 years agoThin supports poolmetadatasize setting
Zdenek Kabelac [Fri, 4 Nov 2011 22:43:10 +0000 (22:43 +0000)]
Thin supports poolmetadatasize setting

Add option to set pool metadatasize.
For passing size parameter reuse region_size.

13 years agoThin fix condition check for transation_id
Zdenek Kabelac [Fri, 4 Nov 2011 12:39:45 +0000 (12:39 +0000)]
Thin fix condition check for transation_id

id2 must be checked.
(missed in yesterday commit set).

13 years agoAdd missing lvrename mirrored log recursion in for_each_sub_lv.
Alasdair Kergon [Fri, 4 Nov 2011 01:31:23 +0000 (01:31 +0000)]
Add missing lvrename mirrored log recursion in for_each_sub_lv.

13 years agoThin keep pool device in the same state
Zdenek Kabelac [Thu, 3 Nov 2011 15:58:20 +0000 (15:58 +0000)]
Thin keep pool device in the same state

Leave the optimalisation to be done differently and preserve
availability state of the pool device.

13 years agoThin no device is created - so nothing to revert here
Zdenek Kabelac [Thu, 3 Nov 2011 15:46:51 +0000 (15:46 +0000)]
Thin no device is created - so nothing to revert here

13 years agoThin removing limitation on activation of pool device.
Zdenek Kabelac [Thu, 3 Nov 2011 14:59:20 +0000 (14:59 +0000)]
Thin removing limitation on activation of pool device.

Since activation of pool is now independent on thin activation,
user may do whatever he needs - thought preferable thin should stay alive,
but it it will be found inactivate, update_pool will bring the pool up.

13 years agoThin removing unused detach_pool_messages
Zdenek Kabelac [Thu, 3 Nov 2011 14:57:04 +0000 (14:57 +0000)]
Thin removing unused detach_pool_messages

13 years agoThin using update_pool_lv
Zdenek Kabelac [Thu, 3 Nov 2011 14:56:20 +0000 (14:56 +0000)]
Thin using update_pool_lv

Replace detach_pool_messages with update_pool_lv.
Move creation code from to 'if' condition into 1.
Ensure creation has finished all previous message operations.

13 years agoThin genering update_pool_lv function
Zdenek Kabelac [Thu, 3 Nov 2011 14:53:58 +0000 (14:53 +0000)]
Thin genering update_pool_lv function

Function to trigger pool message passing via resume,
or resize of the pool itself independently on other thins.

13 years agoAdd -tpool layer in activation tree
Zdenek Kabelac [Thu, 3 Nov 2011 14:52:09 +0000 (14:52 +0000)]
Add -tpool layer in activation tree

Let's put the overlay device over real thin pool device.
So we can get the proper locking on cluster.
Overwise the pool LV would be activate once implicitely
and in other case explicitely, confusing locking mechanism.
This patch make the activation of pool LV independent on
activation of thin LV since they will both implicitely use
real -thin pool device.

13 years agoThin api change for passing message into libdm
Zdenek Kabelac [Thu, 3 Nov 2011 14:45:01 +0000 (14:45 +0000)]
Thin api change for passing message into libdm

Avoid exposing another struct to the libdm user and
use only simple dm_tree_node_add_thin_pool_message with
2 overloaded uint64_t values.

13 years agoThin api change for dm_tree_node_add_thin_target
Zdenek Kabelac [Thu, 3 Nov 2011 14:43:21 +0000 (14:43 +0000)]
Thin api change for dm_tree_node_add_thin_target

A little code shuffling and adding support for
DM_THIN_ERROR_DEVICE_ID which might be eventually be used
for activation of thin which is going to be deleted.
For now we do not need it lvm.

13 years agoThin avoids need of having writable VG for activation
Zdenek Kabelac [Thu, 3 Nov 2011 14:41:18 +0000 (14:41 +0000)]
Thin avoids need of having writable VG for activation

13 years agoThin uses _tdata instead of _tpool for data LV
Zdenek Kabelac [Thu, 3 Nov 2011 14:38:36 +0000 (14:38 +0000)]
Thin uses _tdata instead of _tpool for data LV

Switch to different suffix and keep -tpool reserved for overlay device name.

13 years agoThin clean using delete_id consitently
Zdenek Kabelac [Thu, 3 Nov 2011 14:37:23 +0000 (14:37 +0000)]
Thin clean using delete_id consitently

13 years agoThin code cleanup
Zdenek Kabelac [Thu, 3 Nov 2011 14:36:40 +0000 (14:36 +0000)]
Thin code cleanup

Use iterate_items for list processing.

13 years agoAdd "ExecReload" to dm-event.service for systemd to reload dmeventd properly.
Peter Rajnoha [Mon, 31 Oct 2011 12:22:49 +0000 (12:22 +0000)]
Add "ExecReload" to dm-event.service for systemd to reload dmeventd properly.

Normally, restart simply means "stop and start" for systemd. However, if
we're installing new versions of the dmeventd binary/libdevmapper, we need
to restart dmeventd. This fails if we have some devices monitored - we need
to call "dmeventd -R" instead.

The "ExecReload" did not work quite well in some old versions of systemd,
systemd assumed that only the configuration is reloaded on "ExecReload",
not the whole binary itself so it lost track of dmeventd daemon (it lost new
dmeventd PID). This is fixed and seems to be working fine now with recent
versions of dmeventd.

13 years agoThin fix compile warns
Zdenek Kabelac [Sun, 30 Oct 2011 22:52:08 +0000 (22:52 +0000)]
Thin fix compile warns

Test for dm_snprintf < 0.
Add header for moved backup.

13 years agoMore updates for lvcreate manpage
Zdenek Kabelac [Sun, 30 Oct 2011 22:08:21 +0000 (22:08 +0000)]
More updates for lvcreate manpage

13 years agoThin creation without activation
Zdenek Kabelac [Sun, 30 Oct 2011 22:07:38 +0000 (22:07 +0000)]
Thin creation without activation

All thins are created with the next activation and VG is updated
without messages. Only some basic commands works.
(i.e. lvcreate -an  -V10 -T mvg/pool)
There can be some combination to confuse this system.

This functionality for snapshots is going to be interesting.

13 years agoThin segment transaction_id moved
Zdenek Kabelac [Sun, 30 Oct 2011 22:04:57 +0000 (22:04 +0000)]
Thin segment transaction_id moved

Add a new node flag send_messages that is used to simplify
test when to call _node_send_messages().

Add call to _node_send_messages when pool is deeper in the tree.

13 years agoCleanup unsuccessfully created thin LV
Zdenek Kabelac [Sun, 30 Oct 2011 22:02:18 +0000 (22:02 +0000)]
Cleanup unsuccessfully created thin LV

If something fails during creation of thin LV remove such LV
and deactivate in case it's been already tried to activate
(i.e. thin kernel driver fails for some reason.)

13 years agoMake detach_pool_message visible for tools
Zdenek Kabelac [Sun, 30 Oct 2011 22:01:39 +0000 (22:01 +0000)]
Make detach_pool_message visible for tools

Move there also vg_write and vg_commit.

13 years agoThin cleanups
Zdenek Kabelac [Sun, 30 Oct 2011 22:00:57 +0000 (22:00 +0000)]
Thin cleanups

Fix/cleanup several error messages.
Remove test for seg_is_thin which could never be true there.
Replace (1<<24) with predefined constant.

13 years agoCleanup for lvmetad passing uninit structure
Zdenek Kabelac [Sun, 30 Oct 2011 21:58:59 +0000 (21:58 +0000)]
Cleanup for lvmetad passing uninit structure

Shown by clang analyzer.

13 years agoImprove valgrind support when compiled with DEBUG_MEM
Zdenek Kabelac [Fri, 28 Oct 2011 20:37:31 +0000 (20:37 +0000)]
Improve valgrind support when compiled with DEBUG_MEM

13 years agoContinue with lvcreate man page update
Zdenek Kabelac [Fri, 28 Oct 2011 20:36:05 +0000 (20:36 +0000)]
Continue with lvcreate man page update

Already in WHATS_NEW.

13 years agoAvoid creation of /dev/vg/thinpool
Zdenek Kabelac [Fri, 28 Oct 2011 20:34:45 +0000 (20:34 +0000)]
Avoid creation of /dev/vg/thinpool

13 years agoThin option documentation
Zdenek Kabelac [Fri, 28 Oct 2011 20:33:50 +0000 (20:33 +0000)]
Thin option documentation

13 years agoThin support for stripe
Zdenek Kabelac [Fri, 28 Oct 2011 20:32:54 +0000 (20:32 +0000)]
Thin support for stripe

Support stripe options to create thin data pool LV.

TODO: combine chunk size and stripe size.

13 years agoThin pool resize support for data LV
Zdenek Kabelac [Fri, 28 Oct 2011 20:31:01 +0000 (20:31 +0000)]
Thin pool resize support for data LV

Support for extension of pool data LV.

TODO: figure out thin volume for suspend/resume in cluster.

13 years agoThin support for lvrename
Zdenek Kabelac [Fri, 28 Oct 2011 20:29:32 +0000 (20:29 +0000)]
Thin support for lvrename

Rename pool's metadata lv _tmeta together with pool and _tdata.

13 years agoThin works only with exclusive activation
Zdenek Kabelac [Fri, 28 Oct 2011 20:29:06 +0000 (20:29 +0000)]
Thin works only with exclusive activation

Enforce exclusive activation with thin targets.

13 years agoThin pool activation change
Zdenek Kabelac [Fri, 28 Oct 2011 20:28:00 +0000 (20:28 +0000)]
Thin pool activation change

To ensure we properly handle LV cluster locking - explicitely do
not allow to change the availability of the thin pool that is in use
for some thin LV.

As soon as the thin volume is created the only way to activate pool
is via implicit dependency.

Ignore thinpool open count for lv/vgchange operations.

13 years agoThin output data_block_size via outsize
Zdenek Kabelac [Fri, 28 Oct 2011 20:25:08 +0000 (20:25 +0000)]
Thin output data_block_size via outsize

Use outsize to get nice size hint.

13 years agoImprove lv_extend stack reporting
Zdenek Kabelac [Fri, 28 Oct 2011 20:23:24 +0000 (20:23 +0000)]
Improve lv_extend stack reporting

and some code cleanup with setting return value.

13 years agoThin error messages clenaup and some indent
Zdenek Kabelac [Fri, 28 Oct 2011 20:19:26 +0000 (20:19 +0000)]
Thin error messages clenaup and some indent

13 years agoRemove thin code from mirror/raid lv_extend
Zdenek Kabelac [Fri, 28 Oct 2011 20:18:32 +0000 (20:18 +0000)]
Remove thin code from mirror/raid lv_extend

13 years agoExtend virtual segment instead of adding new one
Zdenek Kabelac [Fri, 28 Oct 2011 20:17:55 +0000 (20:17 +0000)]
Extend virtual segment instead of adding new one

Before adding a new virtual segment to LV, check first whether
the last segment isn't already of the same type. In this case
extend last segment instead of creating the new one.

Thin volumes should have always only 1 virtual segment, but it
helps also to virtual snapshot or error segtype..

13 years agoAdd last_seg
Zdenek Kabelac [Fri, 28 Oct 2011 20:12:54 +0000 (20:12 +0000)]
Add last_seg

Implement a function to return the last segment in a LV.

Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
13 years agoTrying to fix the retry logic
Zdenek Kabelac [Fri, 28 Oct 2011 20:11:21 +0000 (20:11 +0000)]
Trying to fix the retry logic

There should be no need for retry for our internal devices - it would be hinding
our own bug in the tree processing.
Update error messages to show also also device name.
No WHATS_NEW - in release fix.

13 years agoFix core on buggy config file
Zdenek Kabelac [Fri, 28 Oct 2011 20:07:38 +0000 (20:07 +0000)]
Fix core on buggy config file

Since fixed within unreleased version so no WHATS_NEW

13 years agoAdd find_config_tree_str_allow_empty
Zdenek Kabelac [Fri, 28 Oct 2011 20:06:49 +0000 (20:06 +0000)]
Add find_config_tree_str_allow_empty

Add function to allow read of empty strings as valid arguments.
Add a warning message if string argument has ignored value.

13 years agoUpdate header comment
Zdenek Kabelac [Fri, 28 Oct 2011 20:04:17 +0000 (20:04 +0000)]
Update header comment

13 years agoUpdate lvconvert man page to describe '--type <segtype>' argument
Jonathan Earl Brassow [Tue, 25 Oct 2011 13:24:23 +0000 (13:24 +0000)]
Update lvconvert man page to describe '--type <segtype>' argument

Man page changes were not included when the ability to convert from
"mirror" -> "raid1" or "linear" -> "raid1" were made.

13 years agoDisallow 'mirrored' log for cluster mirrors.
Jonathan Earl Brassow [Tue, 25 Oct 2011 13:17:04 +0000 (13:17 +0000)]
Disallow 'mirrored' log for cluster mirrors.

Git commit ID 0864378250956c310cb81608978d091fcdcc97d8 was meant to disallow
'mirrored' logs for cluster mirrors.  However, when add_mirror_log is used
to create the log (as is now the case when using 'lvcreate' or converting only
the log) the check is bypassed.

This patch adds the check to add_mirror_log.

13 years agoDon't print char type[8] as a plain string
Zdenek Kabelac [Mon, 24 Oct 2011 10:24:39 +0000 (10:24 +0000)]
Don't print char type[8] as a plain string

pvck prints 'extra' character from the label since there is no '\0'
after the struct label entry and just uint64_t follows directly.
So avoid it by limiting 8 chars to be printed.

https://www.redhat.com/archives/lvm-devel/2011-January/msg00109.html

Signed-off-by: Paul Bolle <pebolle tiscali nl>
13 years agoTest with -F flag
Zdenek Kabelac [Sun, 23 Oct 2011 21:24:27 +0000 (21:24 +0000)]
Test with -F flag

grep need -F to check what we really want to test.
Add better test for existing device.

Currently this test DOES NOT work with real /dev handle via udev
since our tool does not see such device listet through udev.

FIXME: We might be able to see it at least through dmsetup table and
use for lvm.

13 years agoDrop mempool parameter from read functions
Zdenek Kabelac [Sun, 23 Oct 2011 16:05:45 +0000 (16:05 +0000)]
Drop mempool parameter from read functions

Use implicit vgmem pool.

13 years agoAlways use vg memory pool for allocated lv segment
Zdenek Kabelac [Sun, 23 Oct 2011 16:02:01 +0000 (16:02 +0000)]
Always use vg memory pool for allocated lv segment

Remove mem pool parameter from alloc_lv_segment()
Since we should always allocate LV segment from the vg mempool.

13 years agoUsed device name instead of device path
Zdenek Kabelac [Sun, 23 Oct 2011 15:43:10 +0000 (15:43 +0000)]
Used device name instead of device path

Udev is tricky here - since with udev the node does not exists until
it resume happens.  So we need to resume devices via its name.

13 years agoDo not make link in the real /dev
Zdenek Kabelac [Sun, 23 Oct 2011 15:40:15 +0000 (15:40 +0000)]
Do not make link in the real /dev

Skip trying to make link when real /dev dir is used for test.

13 years agoExpect failure with real /dev dir
Zdenek Kabelac [Sun, 23 Oct 2011 15:39:08 +0000 (15:39 +0000)]
Expect failure with real /dev dir

As udev is for now incapable to create such devices
turn this test error into warning.

13 years agoFix usage of DEBUG_ENFORCE_POOL_LOCKING with DEBUG_MEM
Zdenek Kabelac [Sun, 23 Oct 2011 15:38:02 +0000 (15:38 +0000)]
Fix usage of DEBUG_ENFORCE_POOL_LOCKING with DEBUG_MEM

Since DEBUG_MEM is storing own extra structure within returned memory chunk,
glibc free must be used directly for posix_memaling() allocated block.

13 years agoIn t-lvcreate-large, do not create a clustered VG. LV activation/suspend does
Petr Rockai [Sun, 23 Oct 2011 14:30:51 +0000 (14:30 +0000)]
In t-lvcreate-large, do not create a clustered VG. LV activation/suspend does
not work yet with singlenode clvmd in clustered VGs.

13 years agoReduce stack size usage in print_log
Zdenek Kabelac [Sat, 22 Oct 2011 16:52:00 +0000 (16:52 +0000)]
Reduce stack size usage in print_log

As the buf2[] and locn[] can't be used at the same time, safe 1 page from
stack memory.

13 years agoRemove old thin code from _lv_insert_empty_sublvs
Zdenek Kabelac [Sat, 22 Oct 2011 16:48:59 +0000 (16:48 +0000)]
Remove old thin code from _lv_insert_empty_sublvs

Since thin is not able to use _lv_insert_empty_sublvs,
remove its appearence from this function.

Start to use extend_pool() function for desired functionality
and modify lv_extend() for this.

13 years agoEnsure thin LVs take an exclusive activation
Zdenek Kabelac [Sat, 22 Oct 2011 16:47:23 +0000 (16:47 +0000)]
Ensure thin LVs take an exclusive activation

13 years agoRemove extra empty check
Zdenek Kabelac [Sat, 22 Oct 2011 16:46:34 +0000 (16:46 +0000)]
Remove extra empty check

dm_list_splice handles empty list itself, no need to duplicate code.

13 years agoConsistently use metadata LV as the first in MDA
Zdenek Kabelac [Sat, 22 Oct 2011 16:45:25 +0000 (16:45 +0000)]
Consistently use metadata LV as the first in MDA

Cosmetic cleanup.
Mark LV as thin pool before calling attach_pool functions.

13 years agoRecoded way to insert thin pool into vg
Zdenek Kabelac [Sat, 22 Oct 2011 16:44:23 +0000 (16:44 +0000)]
Recoded way to insert thin pool into vg

Code in _lv_insert_empty_sublvs  was not able to provide proper
initialization order for thin pool LV.

New function extend_pool() first adds metadata segment to pool LV which
is still visible. Such LV is activate and cleared.

Then new meta LV is created and metadata segments are moved there.
Now the preallocated pool data segment is attached to the pool LV
and layer _tpool is created. Finaly segment is marked as thin_pool.

13 years agoMake move_lv_segment non-static
Zdenek Kabelac [Sat, 22 Oct 2011 16:42:10 +0000 (16:42 +0000)]
Make move_lv_segment non-static

This function could be useful for other _manip source files.

Use dm_list manipulation function for provided functionality,
which make the code more readable and avoid touching list
internal details here.

13 years agoPass exclusive LV locks to all nodes in the cluster.
Alasdair Kergon [Fri, 21 Oct 2011 15:49:45 +0000 (15:49 +0000)]
Pass exclusive LV locks to all nodes in the cluster.
This was the intended behaviour, as described in the lvchange man page, so you
have complete control through volume_list in lvm.conf, but the code seems to
have been treating -ae as local-only for a very long time.

13 years agoStore transaction_id with created thin lv
Zdenek Kabelac [Fri, 21 Oct 2011 11:38:35 +0000 (11:38 +0000)]
Store transaction_id with created thin lv

So we know the creation history and this should be useful with vgcfgrestore.

13 years agoRemove double-hack for setting metadata size
Zdenek Kabelac [Fri, 21 Oct 2011 09:55:50 +0000 (09:55 +0000)]
Remove double-hack for setting metadata size

Drop the second lv_extend and set 128MB directly in the first hack place.

13 years agoThin pool now support chunk size as well
Zdenek Kabelac [Fri, 21 Oct 2011 09:55:07 +0000 (09:55 +0000)]
Thin pool now support chunk size as well

Use chunksize option to specify data_block_size for thin pool target.
Drop low_water_mark to zero.

13 years agoMake units for chunksize more obvious
Zdenek Kabelac [Fri, 21 Oct 2011 09:53:16 +0000 (09:53 +0000)]
Make units for chunksize more obvious

13 years agoAling structure chunk on default aling size
Zdenek Kabelac [Thu, 20 Oct 2011 14:43:33 +0000 (14:43 +0000)]
Aling structure chunk on default aling size

Since we use 8 bytes by default for the pool allocation,
keep the structure aligned with this size.
(Somehow it was not applied in previous commit.)

13 years agoMark chunk memory for free as defined again for valgrind
Zdenek Kabelac [Thu, 20 Oct 2011 13:39:57 +0000 (13:39 +0000)]
Mark chunk memory for free as defined again for valgrind

When DEBUG_MEM is used, the memory is trashed with extra pattern before real
free() is called, and as this memory was marked as non accessible when used with
valgrind, make it again usable.

13 years agoAling structure chunk on default aling size
Zdenek Kabelac [Thu, 20 Oct 2011 13:36:13 +0000 (13:36 +0000)]
Aling structure chunk on default aling size

Since we use 8 bytes by default for the pool allocation,
keep the structure aligned with this size.

13 years agoSimplify some pointer operations
Zdenek Kabelac [Thu, 20 Oct 2011 13:33:41 +0000 (13:33 +0000)]
Simplify some pointer operations

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