Zdenek Kabelac
c8669f6b13
Fixed bug where lvresize option -t was not properly passed to fsadm.
...
Using argv[] list in exec_cmd() to allow more params for external commands.
Fsadm does not allow checking mounted filesystem.
Fsadm no longer accepts 'any other key' as 'no' answer to y/n.
Fsadm improved handling of command line options.
2009-02-24 15:48:00 +00:00
Peter Rajnoha
3ad47d16ab
Fix vgrename using UUID in case there are VGs with the same name.
2008-12-19 14:22:48 +00:00
Peter Rajnoha
b47952641a
Added displayable_lvs_in_vg and lv_is_displayable functions to deal with
...
the counts of visible LVs from user's perspective consistently throughout
the code.
2008-12-04 15:54:26 +00:00
Alasdair Kergon
2c44337bd5
Right, a simple build (without options) is working again.
2008-11-03 22:14:30 +00:00
Alasdair Kergon
cda354087f
rename var
2008-09-19 07:12:45 +00:00
Alasdair Kergon
8c5bcdabab
Improve the way VGs with PVs missing are handled so manual intervention
...
is required in fewer circumstances. (mornfall)
2008-09-19 06:42:00 +00:00
Alasdair Kergon
424dd43e6f
Revert assuming precommitted metadata is live when activating (unnecessary).
2008-06-08 11:33:15 +00:00
Alasdair Kergon
e4b34bfad0
When activating, if precommitted metadata is still cached, assume it's live.
2008-06-05 13:06:39 +00:00
Dave Wysochanski
5ca6698f12
Add lv_is_active() to determine whether an lv is active.
...
Handles non-clustered as well as clustered. For clustered,
the best we can do is try exclusive local activation. If this
succeeds, we know it is not active elsewhere in the cluster.
Otherwise, we assume it is active elsewhere.
2008-04-10 21:34:18 +00:00
Milan Broz
5619c629f6
Add detection of clustered mirror log capability.
...
Currently only check for kernel module presence.
2008-04-07 10:23:47 +00:00
Alasdair Kergon
4e9083db10
Fix mirror log name construction during lvconvert. (2.02.30)
...
Make monitor_dev_for_events recurse through the stack of LVs.
Clean up some more compiler warnings.
Add mirror names test script.
2008-01-31 12:19:36 +00:00
Alasdair Kergon
67cdbd7e4d
Some whitespace tidy-ups.
2008-01-30 14:00:02 +00:00
Alasdair Kergon
0c06de632a
pre-release review cleanups
2008-01-17 17:17:09 +00:00
Alasdair Kergon
876003dc44
allow a mirror to contain only one mimage
2008-01-16 19:18:51 +00:00
Petr Rockai
67961c7c10
Add snapshot dmeventd library (enables dmeventd snapshot monitoring).
2008-01-09 15:32:19 +00:00
Alasdair Kergon
a6b22cf317
readahead activation code (but no dm support yet)
2007-11-12 20:51:54 +00:00
Alasdair Kergon
be6845999b
Fix inconsistent licence notices: executables are GPLv2; libraries LGPLv2.1.
2007-08-20 20:55:30 +00:00
Jim Meyering
08c9ff434b
Add "const" attributes where possible: first cut.
2007-08-07 09:06:05 +00:00
Jonathan Earl Brassow
5efd97f108
lib/activate/activate.c:_lv_activate tries to monitor a device
...
regardless of whether it was successfully activated. Now fixed
to only monitor if it was successfully activated.
2007-08-01 20:29:07 +00:00
Dave Wysochanski
13835b5f6c
Don't use index and rindex functions marked by SUSv3 as legacy - Jakub Bogusz <qboosh@pld-linux.org>
2007-07-02 11:17:21 +00:00
Petr Rockai
e7ddf4168d
Make warnings go to stderr. Change log_warn to that effect, log_print
...
continues to send messages to stdout.
2007-06-28 17:33:44 +00:00
Alasdair Kergon
1bf5aae913
Change some #include lines to search only standard system directories.
2007-04-27 17:46:16 +00:00
Alasdair Kergon
b45c9f49d0
Fix vgrename active LV check to ignore differing vgids.
2007-03-08 21:08:25 +00:00
Alasdair Kergon
20db8ffcae
lvm.static no longer interacts with dmeventd unless explicitly asked to.
2007-01-24 23:43:27 +00:00
Alasdair Kergon
24f4552bbe
fix earlier checkin
2007-01-24 22:06:11 +00:00
Alasdair Kergon
57fc4cc0b6
Add field definitions to report help text.
...
Remove unnecessary cmd arg from target_*monitor_events().
2007-01-24 16:51:24 +00:00
Alasdair Kergon
8a37910d51
register->monitor etc.
2007-01-19 22:21:45 +00:00
Alasdair Kergon
8ef6eb30d9
Report dmeventd mirror monitoring status.
2007-01-12 20:38:30 +00:00
Alasdair Kergon
0ce83a83f0
Fix some activate.c prototypes when compiled without devmapper.
2006-12-20 16:19:01 +00:00
Alasdair Kergon
6c81ed26f0
Add LV column to reports listing kernel modules needed for activation.
2006-10-03 17:55:20 +00:00
Alasdair Kergon
0550c1b618
Move lvm_snprintf into libdevmapper.
2006-08-21 12:54:53 +00:00
Alasdair Kergon
9cd3426d3a
Fix missing lockfs on first snapshot creation.
2006-08-08 21:20:00 +00:00
Alasdair Kergon
4aae724656
Fix target_register_events args.
2006-05-25 13:32:26 +00:00
Alasdair Kergon
2293567c8c
Fix lvcreate corelog validation.
...
Add --config for overriding most config file settings from cmdline.
Quote arguments when printing command line.
Remove linefeed from 'initialising logging' message.
Add 'Completed' debug message.
Don't attempt library exit after reloading config files.
Always compile with libdevmapper, even if device-mapper is disabled.
2006-05-16 16:48:31 +00:00
Alasdair Kergon
3e3d5d8593
Add --monitor to vgcreate and lvcreate to control dmeventd registration.
...
Propagate --monitor around cluster.
Filter LCK_NONBLOCK in clvmd lock_vg.
2006-05-12 19:16:48 +00:00
Alasdair Kergon
898e6f8e41
Add mirror_library description to example.conf.
...
More compile-time cleanup.
2006-05-11 17:58:58 +00:00
Alasdair Kergon
e24e713001
_register_dev_for_events to return error on failure
2006-04-28 14:06:06 +00:00
Alasdair Kergon
472ac5bdd5
more snapshot code tidying
2006-04-06 14:06:27 +00:00
Alasdair Kergon
e408d62eaf
suspend using existing LV metadata; vgreduce then needs partial flag
2006-02-03 19:36:20 +00:00
Alasdair Kergon
8b888354c8
When suspending, dmeventd deregistration needs to use existing details
...
not precommitted ones.
2006-01-27 20:39:37 +00:00
Alasdair Kergon
ed09d7e394
Rename register_dev; fix missing initialisation; reduce number of ifdefs.
2006-01-27 18:38:14 +00:00
Alasdair Kergon
bfe2b5480e
Always print warning if activation is disabled.
2005-12-22 16:13:38 +00:00
Alasdair Kergon
bbf83db14a
Set block_on_error parameter if available.
...
Add target_version.
2005-12-19 21:01:39 +00:00
Alasdair Kergon
e64934773b
Fix lvscan snapshot full display.
...
dmeventd fixes
2005-12-08 17:49:34 +00:00
Alasdair Kergon
15d91f5a68
More dmeventd support.
2005-12-02 20:35:07 +00:00
Alasdair Kergon
5f4b2acfe5
Replacement activation code. [Don't use this yet!]
2005-11-08 22:52:26 +00:00
Alasdair Kergon
7a5933259f
Clear up precommitted metadata better on disk after use.
...
[Some activation-related features will stop working for a while now.
Some types of activation are getting split into two steps, with the
first step using the precommitted metadata.]
2005-10-31 20:15:28 +00:00
Alasdair Kergon
352a99b95a
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
03b49fe193
Add 'LVM-' prefix to uuids.
2005-10-19 13:59:18 +00:00
Alasdair Kergon
f894b4b1b7
Attempt to load missing targets using modprobe.
...
Simplify dev_manager_info().
2005-10-17 18:00:02 +00:00
Alasdair Kergon
2262b32057
Use hash, bitset, malloc, pool from libdevmapper.
2005-10-16 23:03:59 +00:00
Alasdair Kergon
07d318310b
Prepare tools to support clustered mirrors.
2005-08-14 23:18:28 +00:00
Alasdair Kergon
8211a13ce0
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
60f13f01d2
Basic support for mirrors.
2005-06-01 16:51:55 +00:00
Alasdair Kergon
e9c761b869
Only ask libdevmapper for open_count when we need it.
2005-01-12 22:58:21 +00:00
Alasdair Kergon
f75c11ed27
update comment
2004-05-11 18:18:14 +00:00
Alasdair Kergon
ff4b8b64c8
Only include visible LVs in active/open counts.
2004-05-11 17:09:09 +00:00
Alasdair Kergon
4922197a33
Begin to separate out segment types.
2004-05-04 21:25:57 +00:00
Alasdair Kergon
25579907fc
Support tagged config files.
2004-05-04 18:28:15 +00:00
Alasdair Kergon
c8f601b30f
Fix lvs_in_vg_opened counting.
2004-04-14 17:33:04 +00:00
Alasdair Kergon
7d1552c9de
Option for auto-fallback to LVM1 tools if running 2.4 without device-mapper.
2004-04-08 15:23:23 +00:00
Alasdair Kergon
6606c3ae81
Update copyright notices.
2004-03-30 19:35:44 +00:00
Alasdair Kergon
8b07664860
Fix vgmknodes to remove dud /dev/mapper entries
2004-03-30 14:40:03 +00:00
Alasdair Kergon
f09fe0ad0f
Rename dev_manager_mknodes -> dev_manager_lv_mknodes etc.
2004-03-30 14:38:57 +00:00
Alasdair Kergon
d1f4953ad4
Add list_versions to library
2004-03-26 19:52:09 +00:00
Alasdair Kergon
c1f5052199
Ignore open hidden LVs when checking if deactivation is OK.
2004-03-26 19:13:39 +00:00
Alasdair Kergon
b65b777d2a
Suppress move percentage when inactive
2004-03-26 19:10:48 +00:00
Alasdair Kergon
4bd9480dce
lv_info_by_lvid
2004-03-26 15:35:01 +00:00
Alasdair Kergon
f2046e0aeb
Only print warning message once when compiled without libdevmapper.
2004-03-19 16:26:46 +00:00
Alasdair Kergon
658b58129b
additional activation functions
2004-03-08 18:54:13 +00:00
Alasdair Kergon
814643d8a2
rename config file vars & always use / as separator
2004-03-08 18:28:45 +00:00
Alasdair Kergon
de17d760ba
host tags
2004-03-08 18:13:22 +00:00
Alasdair Kergon
8c0388e487
vgmknodes also creates necessary nodes in /dev/mapper
2003-11-13 14:11:41 +00:00
Alasdair Kergon
f7dd6d8446
The LVM2 part of vgmknodes [still to do the non-devfs device-mapper bit].
2003-11-12 19:16:48 +00:00
Alasdair Kergon
0cf96f33ea
Check no fs mounted before deactivating.
2003-10-21 22:00:36 +00:00
Alasdair Kergon
914c97239f
Another sync point - numerous fixes & clean ups.
2003-07-04 22:34:56 +00:00
Alasdair Kergon
10b29b8d2d
pvmove support
2003-04-30 15:26:25 +00:00
Alasdair Kergon
a9953411a8
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
26e7f2e0c4
Tidy various pre-processing incl. making libdl optional.
2003-03-24 18:08:53 +00:00
Alasdair Kergon
711f7fc681
Activation commands now return success in test mode.
2003-01-17 20:16:23 +00:00
Alasdair Kergon
199e490e7d
configure --disable-devmapper if you don't have libdevmapper
2003-01-08 22:44:07 +00:00
Alasdair Kergon
8ef2b021ed
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
d1d9800ef1
Refactoring.
2002-11-18 14:01:16 +00:00
Alasdair Kergon
c826c0d17c
Rename; add some FIXMEs.
2002-05-22 14:03:45 +00:00
AJ Lewis
1951dba955
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
25b733809a
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
Patrick Caulfield
584404f8f4
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
2ed2a72439
lvrename works on snapshots now
2002-03-18 23:25:50 +00:00
Alasdair Kergon
20c5fcf764
Integrate suspend.
2002-03-14 15:36:07 +00:00
Alasdair Kergon
41967a0276
lv_info replaces lv_active etc.
2002-03-11 19:02:28 +00:00
Alasdair Kergon
be326a2f1b
o activate/reactivate merge
...
o unlocking macro
2002-03-11 15:08:39 +00:00
Joe Thornber
0fe3a2c512
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
Alasdair Kergon
15c325f06a
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
3bf898526a
Remove unused fns.
2002-03-04 14:27:25 +00:00
Joe Thornber
9db196e6c5
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
8c013da41f
More use of LV locking.
2002-03-01 19:08:11 +00:00
Alasdair Kergon
f4cbeaf0ac
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
de6c918392
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
Alasdair Kergon
413cc9189e
Begin conversion so LV id is passed to activation unit instead of
...
struct logical_volume.
2002-02-25 12:56:16 +00:00
Alasdair Kergon
14a81c5a03
Remove lv_update_write_access: use lv_reactivate directly now instead.
2002-02-20 21:28:22 +00:00
Joe Thornber
5986ec940f
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
fdc7af232a
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
a62ee8ad27
Document return codes.
2002-02-11 17:42:02 +00:00
Joe Thornber
6d52fb460b
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
d6750e9d76
lv->minor >= 0 (ejt)
2002-02-04 13:08:31 +00:00
Alasdair Kergon
812c699c8d
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
12a6fcd3a8
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
7ae5a778d5
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
Joe Thornber
f868d63582
o Similar changes for lv_list.
2002-01-21 16:49:32 +00:00
Joe Thornber
12137231d3
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
fae0c5764f
Support --version argument and 'version' shell command.
2002-01-17 16:39:24 +00:00
Joe Thornber
f2f2634990
o vgcfgrestore works ! (with the couple of examples I tried).
2002-01-15 17:37:23 +00:00
Alasdair Kergon
4a624ca055
o ACTIVE is no longer a status flag - lv_active() used to check if an LV
...
is active in the device-mapper.
o Many operations can be carried out regardless of whether the VG is
active or not.
o vgscan does not activate anything - use vgchange.
o Change lvrename to support renaming of active LVs.
o Remove '//' appearing in some pathnames.
o Dummy lv_check_segments() for compilation.
2002-01-10 23:21:07 +00:00
Alasdair Kergon
2bc25b546a
Support for read-only.
2002-01-07 22:28:36 +00:00
Alasdair Kergon
41b2fd5f4d
o Use lvm_snprintf wherever return value is used
...
o Add parameters to set retention limits for backups
2001-12-31 19:09:51 +00:00
Alasdair Kergon
b546cd6d69
Correct activation message.
2001-12-05 00:04:18 +00:00
Alasdair Kergon
a299e38810
Added more log messages.
2001-12-04 23:20:27 +00:00
Alasdair Kergon
c2d72fd402
Add -t or --test arg to all tools that update metadata to avoid
...
committing metadata changes or (de)activating.
2001-11-28 18:03:11 +00:00
Joe Thornber
6c4ee29605
o Output the correct format for the stripe target
2001-11-28 17:52:27 +00:00
Joe Thornber
39497a4479
o These now compile.
2001-11-27 17:39:15 +00:00
Joe Thornber
0bab65915d
o Sync up todays work on converting to the segmented representation of
...
logical volumes. It includes:
format1 changes.
metadata.h changes.
lv_manip.c changed (striped allocation still not done though).
activate.c changes.
Nothing has been near a compiler as yet.
Alasdair can you look at changing display.c to use to output the mappings
in a more segment oriented format please ?
I haven't put the span list into struct physical_volume to represent allocated
extents. I think the burden of maintaining it for things like lv_extend may
out weigh it's uses.
2001-11-27 16:37:33 +00:00
Alasdair Kergon
3080a75445
o activation & active status tests
...
o lvdisplay fields from kernel
o update lv->size on resize
2001-11-21 19:32:35 +00:00
Joe Thornber
a7af42f14c
o _emit_target wasn't spotting contiguous targets properly.
2001-11-19 15:44:06 +00:00
Joe Thornber
ef8a0eae5c
o Use new info interface to dm.
2001-11-19 15:38:39 +00:00
Patrick Caulfield
2fa9bf7052
Use POSIX defined PRIu64 for formatting 64 bit unsigned integer types
2001-11-15 15:18:53 +00:00
Patrick Caulfield
78125be9c2
Use FMT_64 to format 64bit types
2001-11-15 14:27:51 +00:00
Alasdair Kergon
cf4a4a1fa8
Remove hard-coding and create device-mapper directory if required
2001-11-12 17:21:25 +00:00
Joe Thornber
f7a14956d8
o Plug in fs_(add|del)_lv
2001-11-12 12:20:58 +00:00
Alasdair Kergon
94b8220f6a
lvdisplay & lvreduce
2001-11-08 16:15:58 +00:00
Alasdair Kergon
4f7a219dac
o Always set LVM_READ.
...
o Avoid duplicate deallocation.
2001-11-07 22:47:43 +00:00
Joe Thornber
2ba80b436f
o Added lvs_in_vgs_opened
2001-11-07 15:02:07 +00:00
Joe Thornber
37ed70b9ea
o Another pass at the activation code
2001-11-07 11:51:42 +00:00
Alasdair Kergon
642c2e964b
lvcreate
2001-11-06 19:02:26 +00:00
Joe Thornber
80f9662b05
o adjacent extents are now merged into a single target when activating.
2001-11-05 13:37:13 +00:00
Joe Thornber
ab269099a7
o build lv name from <vg>_<lv>
2001-11-02 16:45:44 +00:00
Alasdair Kergon
f047219b23
Link in the activation library.
2001-11-02 16:28:04 +00:00
Joe Thornber
ae2bb66535
o First pass at activation
2001-11-02 13:45:05 +00:00
Alasdair Kergon
0a5e4a1442
o Changes to activation interface
...
o Add pointer lv->vg
o Some naming tweaks to improve clarity
2001-10-31 17:59:52 +00:00
Joe Thornber
1b9fcf48b1
o LGPL list implementation
2001-10-31 12:47:01 +00:00
Alasdair Kergon
a381c45a6e
vgchange
2001-10-16 16:25:28 +00:00
Joe Thornber
e15559aa3c
o spot empty list in build_vg
2001-10-09 17:09:46 +00:00
Joe Thornber
5cffeebbaa
o proposed interface to the kernel driver
2001-10-09 16:44:30 +00:00
Joe Thornber
b1713d284d
o change pv_read to take a name rather than a device
2001-10-09 16:05:34 +00:00