Alasdair Kergon
61a53bbcff
suppress status err mesg when LVM- uuid prefix is missing
2005-10-26 17:56:31 +00:00
Alasdair Kergon
ad101119a7
remove remaining hard-coded prefix lengths
2005-10-26 17:31:12 +00:00
Alasdair Kergon
d76fe120ab
a missing lvid/dlid conversion
2005-10-26 15:54:50 +00:00
Alasdair Kergon
ae14d85e24
Attempt to cope with LVM- prefix transition.
2005-10-26 15:00:51 +00:00
Alasdair Kergon
a4dd3c8ce9
switch in new suspend code (untested)
2005-10-26 14:13:52 +00:00
Alasdair Kergon
bcc400dafa
Use dm_is_dm_major instead of local copy.
...
Allow mapped devices to be used as PVs safely.
2005-10-25 19:08:21 +00:00
Alasdair Kergon
44fc41b3e5
Move set_selinux_context into libdevmapper
2005-10-25 17:28:46 +00:00
Alasdair Kergon
e67efb199d
Fix LVM2- prefix changes; export build_dlid.
2005-10-20 21:07:57 +00:00
Alasdair Kergon
f6ee160e66
Add 'LVM-' prefix to uuids.
2005-10-19 13:59:18 +00:00
Alasdair Kergon
095b71ed96
Move deactivation code into libdevmapper.
2005-10-18 12:39:20 +00:00
Alasdair Kergon
2a7ac78f02
some deactivation fixes
2005-10-17 19:06:20 +00:00
Alasdair Kergon
f7e35569ce
Only one dump_memory.
2005-10-17 18:21:05 +00:00
Alasdair Kergon
e092ce51f6
Attempt to load missing targets using modprobe.
...
Simplify dev_manager_info().
2005-10-17 18:00:02 +00:00
Alasdair Kergon
67eb7723d6
Use hash, bitset, malloc, pool from libdevmapper.
2005-10-16 23:03:59 +00:00
Alasdair Kergon
a0aedf299a
Prepare tools to support clustered mirrors.
2005-08-14 23:18:28 +00:00
Alasdair Kergon
004da28792
Move compose_log_line() into mirror directory.
2005-08-10 17:19:46 +00:00
Alasdair Kergon
b75434db93
fix last checkin
2005-08-04 01:29:18 +00:00
Alasdair Kergon
04e912aacd
Prevent snapshots getting activated in a clustered VG.
2005-08-04 01:27:25 +00:00
Alasdair Kergon
d7be352f87
Separate out _build_dev_string.
2005-08-04 01:15:30 +00:00
Alasdair Kergon
39fbb844f9
Various allocation-related pvmove fixes.
2005-06-14 17:54:48 +00:00
Alasdair Kergon
252daf9717
Use matchpathcon mode parameter.
2005-06-13 13:13:15 +00:00
Alasdair Kergon
69098210be
Always insert an intermediate layer for mirrors.
...
Suppress hidden LVs from reports unless --all is given.
Use square brackets for hidden LVs in reports.
Centralise restrictions on LV names.
2005-06-03 14:49:51 +00:00
Alasdair Kergon
99df4f892d
Basic support for mirrors.
2005-06-01 16:51:55 +00:00
Alasdair Kergon
87dbf462cb
Reinstate full PV size when removing from VG.
...
Support loopfiles for testing.
Complete the pv_segment support.
2005-05-03 17:28:23 +00:00
Alasdair Kergon
64cd5b5a46
extract compose_log_line
2005-04-17 23:59:04 +00:00
Alasdair Kergon
f8782ee2d7
Internal snapshot code restructuring.
2005-04-07 12:39:44 +00:00
Alasdair Kergon
bacab38d7f
Avoid rmdir opendir error messsages when dir was already removed.
2005-03-21 14:43:02 +00:00
Alasdair Kergon
243494c25e
Store snapshot and origin sizes separately.
2005-01-19 17:19:39 +00:00
Alasdair Kergon
369549d23f
Only ask libdevmapper for open_count when we need it.
2005-01-12 22:58:21 +00:00
Alasdair Kergon
16521a6feb
pool debugging
2004-11-23 18:23:23 +00:00
Alasdair Kergon
6ad525c77e
Fix return code from rm_link for vgmknodes.
2004-09-22 13:38:37 +00:00
Alasdair Kergon
12e5b0681b
Rename old segtypes files to segtype.
2004-09-16 18:40:56 +00:00
Alasdair Kergon
ffbd7d8de4
Export dm name build & split functions.
2004-09-15 15:02:36 +00:00
Alasdair Kergon
49a959c06e
Fix /dev/vgname mkdir perms.
2004-09-02 14:38:46 +00:00
Alasdair Kergon
af78dc0308
indent
2004-05-18 21:55:55 +00:00
Alasdair Kergon
5ad39493c4
Ensure presence of virtual targets before attempting activation.
2004-05-12 20:43:34 +00:00
Alasdair Kergon
61f597b408
Attempt to fix resizing of snapshot origins.
2004-05-12 20:40:34 +00:00
Alasdair Kergon
a3823f818e
update comment
2004-05-11 18:18:14 +00:00
Alasdair Kergon
ec53c365a2
Only include visible LVs in active/open counts.
2004-05-11 17:09:09 +00:00
Alasdair Kergon
e34577499d
Some basic checking for presence of device-mapper targets.
2004-05-05 18:11:43 +00:00
Alasdair Kergon
fc5c61cc8b
Begin to separate out segment types.
2004-05-04 21:25:57 +00:00
Alasdair Kergon
c3941941ce
Support tagged config files.
2004-05-04 18:28:15 +00:00
Alasdair Kergon
46cdd53323
Don't abort operations if selinux is present but disabled.
2004-05-04 15:29:26 +00:00
Alasdair Kergon
9f06ba2db3
fix selinux error mesg
2004-04-14 18:10:10 +00:00
Alasdair Kergon
5e8f2e2c04
Fix lvs_in_vg_opened counting.
2004-04-14 17:33:04 +00:00
Alasdair Kergon
32667ca256
Option for auto-fallback to LVM1 tools if running 2.4 without device-mapper.
2004-04-08 15:23:23 +00:00
Alasdair Kergon
14adc9b875
Basic selinux support
2004-04-07 14:08:22 +00:00
Alasdair Kergon
66ed5f82c4
Update copyright notices.
2004-03-30 19:35:44 +00:00
Alasdair Kergon
4f9f7eb6a6
Fix vgmknodes to remove dud /dev/mapper entries
2004-03-30 14:40:03 +00:00
Alasdair Kergon
f910c4a8e7
Rename dev_manager_mknodes -> dev_manager_lv_mknodes etc.
2004-03-30 14:38:57 +00:00
Alasdair Kergon
54a1abb284
Add list_versions to library
2004-03-26 19:52:09 +00:00
Alasdair Kergon
97b492a8e2
Ignore open hidden LVs when checking if deactivation is OK.
2004-03-26 19:13:39 +00:00
Alasdair Kergon
0873bd14a9
Suppress move percentage when inactive
2004-03-26 19:10:48 +00:00
Alasdair Kergon
44a1ac0cf3
lv_info_by_lvid
2004-03-26 15:35:01 +00:00
Alasdair Kergon
2ffe378d3f
Only print warning message once when compiled without libdevmapper.
2004-03-19 16:26:46 +00:00
Alasdair Kergon
80de983023
additional activation functions
2004-03-08 18:54:13 +00:00
Alasdair Kergon
8703ca623f
rename config file vars & always use / as separator
2004-03-08 18:28:45 +00:00
Alasdair Kergon
286253a73f
host tags
2004-03-08 18:13:22 +00:00
Alasdair Kergon
3c8c7beae1
Missing include.
2003-11-13 18:47:22 +00:00
Alasdair Kergon
9c3ba9fdcd
vgmknodes also creates necessary nodes in /dev/mapper
2003-11-13 14:11:41 +00:00
Alasdair Kergon
0a109fbd03
The LVM2 part of vgmknodes [still to do the non-devfs device-mapper bit].
2003-11-12 19:16:48 +00:00
Alasdair Kergon
1d791a8af4
Check no fs mounted before deactivating.
2003-10-21 22:00:36 +00:00
Alasdair Kergon
9bb009a3fe
Extract some common functions.
2003-09-17 20:35:57 +00:00
Alasdair Kergon
47a2c1c6e5
Fix read-only snapshot creation.
2003-09-16 16:08:05 +00:00
Alasdair Kergon
09241765d5
Some tidyups and minor fixes.
2003-08-20 15:48:27 +00:00
Alasdair Kergon
671c83c265
Remove small hard-coded activation target line parameter limit.
2003-08-20 12:53:57 +00:00
Alasdair Kergon
4beed60c08
Driver version 1 compatibility fix for snapshots.
2003-07-05 23:24:10 +00:00
Alasdair Kergon
8449314da2
Another sync point - numerous fixes & clean ups.
2003-07-04 22:34:56 +00:00
Alasdair Kergon
bdabf5db72
Distinguish between visible & top level devices.
2003-05-06 12:00:29 +00:00
Alasdair Kergon
120faf2a58
pvmove support
2003-04-30 15:26:25 +00:00
Alasdair Kergon
1d3e407c8f
o Rejig activation code device dependencies to make things a bit more robust
...
and further reduce the number of ioctl calls made.
o Metadata area struct change.
o Make config file accessible to activation functions & get stripe_filler
from it.
o Allow kernel to return snapshot status as a fraction or a percentage.
2003-04-24 22:09:13 +00:00
Alasdair Kergon
54752c2305
Support snapshot status fraction.
2003-04-15 13:20:16 +00:00
Alasdair Kergon
b9a019a08b
Allow for specification of major number as well as minor.
2003-04-02 19:14:43 +00:00
Alasdair Kergon
e8c4bf56fe
Tidy various pre-processing incl. making libdl optional.
2003-03-24 18:08:53 +00:00
Alasdair Kergon
884fafcc30
Activation commands now return success in test mode.
2003-01-17 20:16:23 +00:00
Alasdair Kergon
2f4d91fd69
configure --disable-devmapper if you don't have libdevmapper
2003-01-08 22:44:07 +00:00
Alasdair Kergon
a8190f7efa
When activating an LV, remove any stray LVM1 /dev nodes and group file.
2003-01-03 13:50:47 +00:00
Alasdair Kergon
dd2157534b
Default stripesize 64k & config file setting for it;
...
Clear many compiler warnings (i386) & associated bugs - hopefully without
introducing too many new bugs:-) (Same exercise required for other archs.)
Default compilation has optimisation - or else use ./configure --enable-debug
2002-12-19 23:25:55 +00:00
Alasdair Kergon
81c44790d5
Refactoring.
2002-11-18 14:01:16 +00:00
Alasdair Kergon
64d8e2c727
Remove hard-coded extent_size from snapshot target (field no longer used).
2002-07-17 17:00:54 +00:00
Patrick Caulfield
059a6b1d90
Get rid of compile warnings on 64bit platforms.
2002-06-07 08:37:07 +00:00
Alasdair Kergon
b8769751f6
Rename; add some FIXMEs.
2002-05-22 14:03:45 +00:00
AJ Lewis
a9dbabe07e
o the _status fxns now take more arguments - this way i don't get the
...
preparsed status info, shove it all into a string, and then parse it
again to get the info back out (which is what i was doing before)
o basically that's it...i like this *much* better than the previous
method and i think it makes the _status fxn more flexible if we need
to use it to get other info out.
2002-05-10 16:06:06 +00:00
AJ Lewis
02543bad1c
o Actually read snapshot percentage from the kernel - what a pain! :)
...
o Not sure if the code in dev_manager is really optimal, but it works..
will look at adjusting it a bit now.
o I *think* it works right when one snapshot if full but others aren't,
but I haven't really been able to test it because the full snapshot
somehow resets itself and weird things start happening to the system...
2002-05-09 21:17:57 +00:00
Alasdair Kergon
46127e673d
Some partial VG support with format_text.
2002-04-30 17:12:37 +00:00
Alasdair Kergon
63875e7591
Merge with text format branch.
...
Lots of changes/very little testing so far => there'll be bugs!
Use 'vgcreate -M text' to create a volume group with its metadata stored
in text files. Text format metadata changes should be reasonably atomic,
with a (basic) automatic recovery mechanism if the system crashes while a
change is in progress.
Add a metadata section to lvm.conf to specify multiple directories if
you want (recommended) to keep multiple copies of the metadata (eg on
different filesystems).
e.g. metadata {
dirs = ["/etc/lvm/metadata1","/usr/local/lvm/metadata2"]
}
Plenty of refinements still in the pipeline.
2002-04-24 18:20:51 +00:00
Alasdair Kergon
f7974aee2e
Allow deactivation of final snapshot.
2002-04-16 14:42:20 +00:00
Patrick Caulfield
3ed065de37
Return status from _lv_activate and friends.
...
Alasdair, I think this is right (and I need it) but you may like to check.
2002-04-11 09:14:04 +00:00
Alasdair Kergon
515b5f866e
Tidying.
2002-04-03 12:17:55 +00:00
Alasdair Kergon
321f62bf92
Cope with creation of additional snapshots while active.
...
(More work on suspension dependencies still needed.)
2002-03-27 18:17:43 +00:00
Alasdair Kergon
c502f8a722
New-style persistent minor support.
2002-03-26 13:41:37 +00:00
Alasdair Kergon
59b4868ac3
o read-only device support
...
o name/uuid disambiguation
2002-03-25 18:54:59 +00:00
Alasdair Kergon
0035b31cdb
Better support for LVs with hyphens in names.
2002-03-19 16:41:44 +00:00
Alasdair Kergon
5bd85668dd
lvrename works on snapshots now
2002-03-18 23:25:50 +00:00
Alasdair Kergon
20f990b6ce
Tie all snapshot (de)activation requests to (de)activation of origin device.
2002-03-18 13:09:27 +00:00
Alasdair Kergon
6821379586
s/Removing/Unloading/ in messages to reduce confusion
2002-03-15 23:01:59 +00:00
Alasdair Kergon
73b040eb49
Cut the number of device-mapper calls.
2002-03-15 22:59:12 +00:00
Alasdair Kergon
680750e3c2
Reduce the number of dm info calls.
2002-03-14 21:17:30 +00:00
Alasdair Kergon
1e57e60613
Integrate suspend.
2002-03-14 15:36:07 +00:00
Joe Thornber
b720dea9f0
o dev_manager_suspend, untested.
2002-03-14 10:56:09 +00:00
Alasdair Kergon
e33781e59f
Set LV uuid.
2002-03-13 15:11:29 +00:00
Alasdair Kergon
d23e948216
Move is_empty_dir to lvm-file
2002-03-11 22:23:24 +00:00
Joe Thornber
58bdaa31f0
o Actually check that the vg directory is empty rather than speculatively
...
rmdiring it. Work around for devfs bug.
2002-03-11 20:43:58 +00:00
Joe Thornber
b6491d88a6
o This should complete the dev_manager alg. Please could people now
...
report any activation oddities they see.
2002-03-11 20:36:04 +00:00
Alasdair Kergon
f6061ba62e
lv_info replaces lv_active etc.
2002-03-11 19:02:28 +00:00
Alasdair Kergon
427899ddce
o activate/reactivate merge
...
o unlocking macro
2002-03-11 15:08:39 +00:00
Joe Thornber
c4ab7d2dbd
o dm->active_list now filled in, ATM this is based on the layer name rather
...
than the uuid.
2002-03-11 11:27:48 +00:00
Joe Thornber
0fd2ba033f
o Comment out some new code that was preventing pjc activating
...
snapshots. This will go back in when the active_list is working.
2002-03-11 10:38:16 +00:00
Joe Thornber
ed38939a93
o knock out the offset for origin targets.
2002-03-08 10:45:01 +00:00
Joe Thornber
c7ee26ce5a
o Add active_list to dev_manager
...
o Origin layer is only added to snapshots if a snapshot is in the
active_list.
2002-03-08 10:41:48 +00:00
Joe Thornber
2ec8656bea
o First cut at dev scanning.
...
o Split up _expand_lv
2002-03-07 17:37:38 +00:00
Joe Thornber
b2ef256910
o Add comment describing what we're aiming for with dev_manager.
...
o Remove dev_manager_reactivate, since it'll be the same as activate.
o Merge the mark, visible and dirty fields into the same flags field.
2002-03-07 16:48:46 +00:00
Joe Thornber
63d6ce95db
o Top level device is now just called <vg>-<lv> (there's no 'top'
...
layer appended).
o Got rid of the unused layer->type field and enum.
2002-03-07 15:29:31 +00:00
Alasdair Kergon
fc8b7efc6f
o Use new LCK_HOLD flag to indicate whether lock should be held on return
...
from lock_vol() - otherwise it now attempts to acquire the lock and then
immediately releases it.
o Extend the id field in struct logical_volume to hold VG uuid + LV uuid
for format1. This unique lvid can be used directly when calling lock_vol().
o Add the VG uuid to vgcache to make VG uuid lookups possible. (Another
step towards using them instead of VG names internally.)
2002-03-05 20:03:09 +00:00
Alasdair Kergon
a1c2d9c0f3
Fix activation for VG with more than one LV.
2002-03-04 18:50:34 +00:00
Joe Thornber
b27e956d35
o Bad dependency, meant the origin was always getting activated.
2002-03-04 15:10:30 +00:00
Alasdair Kergon
35ebed75c6
Remove unused fns.
2002-03-04 14:27:25 +00:00
Joe Thornber
7bfdb5f77f
o I was tearing down device bottom-up instead of top down. Which
...
is why lvremove of snapshots wasn't working.
2002-03-04 14:26:43 +00:00
Joe Thornber
8d8c02317f
o Break creating a snapshot down into:
...
i) create cow
ii) activate cow
iii) zero cow
iv) deactivate
v) add snapshot info
vi) reactivate
2002-03-04 13:46:37 +00:00
Alasdair Kergon
8d3afaa53c
More use of LV locking.
2002-03-01 19:08:11 +00:00
Joe Thornber
7ced9ef3df
o point snapshots at origin:real rather than origin:top, and *ping*
...
snapshots work.
2002-03-01 09:07:00 +00:00
Alasdair Kergon
73a88ab3d3
o Lock mechanism for LV activation
...
o #defines for common lock flag combinations
o Try out hyphens instead of colons in device-mapper names - does this
make messages containing filenames easier to read?
2002-02-27 12:26:41 +00:00
Joe Thornber
de7f7b96db
o Format1 wasn't recording the snapshot chunk size properly
...
o Activation of snapshots now works - though the resulting device
doesn't (pjc ?)
o text format wasn't setting vg->cmd.
2002-02-26 16:48:52 +00:00
Alasdair Kergon
1a669b3e68
Clearer link pathname display.
2002-02-26 16:08:22 +00:00
Joe Thornber
333af9b13a
o _build_name was allocating 1 byte too few, which meant the
...
terminating zero was falling off at some later point.
o Don't try and iterate from a deleted node in _prune_unmarked.
2002-02-26 14:44:13 +00:00
Joe Thornber
a5bca5e240
o Removed old files
...
o rewrote activate.c to use dev-manager, I'm sure these two will merge
at some point.
o Rename is broken ATM
o dev-manager puts the calls through to fs.c for layers that have the
'visible' flag set.
2002-02-26 11:49:17 +00:00
Joe Thornber
c885633e02
o More dev_manager fns.
2002-02-25 16:53:12 +00:00
Joe Thornber
545e11a3d7
o In go the populate functions.
2002-02-25 15:19:53 +00:00
Joe Thornber
44f5287664
o More dev_manager work.
2002-02-25 14:46:57 +00:00
Alasdair Kergon
cf510897f1
Begin conversion so LV id is passed to activation unit instead of
...
struct logical_volume.
2002-02-25 12:56:16 +00:00
Joe Thornber
1d171345f8
o Sync with cvs, dev_manager still needs to be wired into activate.c
2002-02-25 12:02:33 +00:00
Alasdair Kergon
3698eaa2d2
Remove lv_update_write_access: use lv_reactivate directly now instead.
2002-02-20 21:28:22 +00:00
Joe Thornber
426dc7836c
o Removed the -z (suspend) option from the tools
...
o New function: int lv_setup_cow_store(struct logical_volume *lv)
This zeroes the start of the cow device.
o Made lvcreate call above fn.
2002-02-18 15:52:48 +00:00
Joe Thornber
ea6f399454
o Turn the device_create_* functions into device_populate_*, they only
...
fill in an already created dm_task. This allows common code, such
as minor number selection, and read_only to be lifted.
2002-02-12 11:15:45 +00:00
Alasdair Kergon
c4856caebb
Preparation for an LVM2 liblvm - pass cmd_context into each tool and
...
link some globals that the tools need into that structure.
2002-02-11 20:50:53 +00:00
Alasdair Kergon
fc1030bb22
Now that most of the usage of 'stack' only occurs when there's an error,
...
don't suppress it from the screen output any longer.
2002-02-11 18:25:18 +00:00
Alasdair Kergon
0fa2a78dce
Document return codes.
2002-02-11 17:42:02 +00:00
Joe Thornber
a56fa1558b
o Split activate.c into a high level (remaining in activate.c) and low level (ll-activate.[hc]) API.
...
o Creation of a device from an lv now lives in activate-lv.c
2002-02-11 15:48:34 +00:00
Alasdair Kergon
71958bc0f1
lv->minor >= 0 (ejt)
2002-02-04 13:08:31 +00:00
Alasdair Kergon
366ec35612
Basic support for persistent minor numbers;
...
slightly different from the current LVM1 method.
lvcreate --persistent y --minor 10 (to specify when created)
lvchange --persistent n (to turn off)
lvchange --persistent y --minor 11 (to change)
--persistent uses a new LV status flag stored on disk
minor number is stored on disk the same way as LVM1 does
(but major number stored is 0; any LVM1 major/minor setting gets lost)
lvchange -ay --minor 12 (to activate using minor 12, regardless of the
on-disk setting, which doesn't get changed)
--minor == -m
--persistent == -M
2002-02-01 17:54:39 +00:00
Alasdair Kergon
aa8d8bc8b5
Propagate volume group read-only setting down to its logical volumes.
...
(Might sometimes be safe to relax this restriction.)
2002-01-30 17:12:14 +00:00
Alasdair Kergon
0800dcfdc4
Basic support for (read-only) partial activation if any PVs are
...
missing from a VG. (Linear targets use the device-mapper 'error' target
which returns ioerror; striped targets use '/dev/ioerror' for now - which must
already exist e.g. as a sufficiently large block device version of /dev/zero).
2002-01-30 15:33:12 +00:00
Alasdair Kergon
6b11de1329
Tweak some error message levels.
2002-01-27 21:30:47 +00:00
Alasdair Kergon
1349b79728
Only remove symbolic links when deactivating.
...
(if this code didn't create it, don't delete it)
2002-01-25 20:17:44 +00:00
Alasdair Kergon
e10221804a
Silently remove any existing symlink before creating a new one.
2002-01-22 19:58:37 +00:00
Joe Thornber
e210599fa6
o Similar changes for lv_list.
2002-01-21 16:49:32 +00:00
Joe Thornber
131a8a9650
o names.[hc]
2002-01-21 13:11:03 +00:00
Joe Thornber
fbd0f5eed2
o move the path building functions to lib/activate/names.c
...
o Update activate.c and fs.c to use them
o device names are now of the form <vg>:<lv>
2002-01-21 11:06:32 +00:00
Alasdair Kergon
4d5b273ebe
Support --version argument and 'version' shell command.
2002-01-17 16:39:24 +00:00
Joe Thornber
1f9d567b23
o vgcfgrestore works ! (with the couple of examples I tried).
2002-01-15 17:37:23 +00:00