Alasdair Kergon
be6845999b
Fix inconsistent licence notices: executables are GPLv2; libraries LGPLv2.1.
2007-08-20 20:55:30 +00:00
Alasdair Kergon
4f2f566b06
Add devices/preferred_names config regex list for displayed device names.
...
Free a temporary dir string in fcntl_lock_file() after use.
Fix a dm_pool_destroy() in matcher_create().
Introduce goto_bad macro.
2007-04-26 16:44:59 +00:00
Alasdair Kergon
b16b9c2bf1
Set PV size to current device size if it is found to be zero.
2006-10-19 12:53:47 +00:00
Alasdair Kergon
ee37789be0
Separate out LVM1_PE_ALIGN.
2006-08-17 19:15:27 +00:00
Alasdair Kergon
72b2cb613a
Make SIZE_SHORT the default for display_size().
...
Fix some memory leaks in error paths found by coverity.
Use C99 struct initialisers.
Move DEFS into configure.h.
Clean-ups to remove miscellaneous compiler warnings.
2006-05-09 21:23:51 +00:00
Alasdair Kergon
8a2fc58645
Check for libsepol.
...
Add some cflow & scope support.
Separate out DEFS from CFLAGS.
Remove inlines and use unique function names.
2006-04-19 15:33:07 +00:00
Alasdair Kergon
a5fe5a7cdd
Fix vgexport/vgimport to set/reset PV exported flag so pv_attr is correct.
...
Add vgid to struct physical_volume and pass with vg_name to some functions.
2006-04-12 21:23:04 +00:00
Alasdair Kergon
f084e627cc
When scanning, also record whether or not VG is exported.
2006-04-11 17:42:15 +00:00
Alasdair Kergon
2262b32057
Use hash, bitset, malloc, pool from libdevmapper.
2005-10-16 23:03:59 +00:00
Alasdair Kergon
60f13f01d2
Basic support for mirrors.
2005-06-01 16:51:55 +00:00
Alasdair Kergon
072893aabd
Internal snapshot code restructuring.
2005-04-07 12:39:44 +00:00
Alasdair Kergon
bd46a496c7
pool debugging
2004-11-23 18:23:23 +00:00
Alasdair Kergon
c4ddb31abf
Rename old segtypes files to segtype.
2004-09-16 18:40:56 +00:00
Alasdair Kergon
19d1e7102c
Write log message when each segtype/format gets initialised.
2004-09-14 17:37:51 +00:00
Alasdair Kergon
68eb9e3b1f
Test for incompatible format/segtype combinations in lv_extend.
2004-09-14 13:56:18 +00:00
Alasdair Kergon
30bab85be1
Fix rounding of large displayed sizes.
2004-06-07 15:22:43 +00:00
Alasdair Kergon
4922197a33
Begin to separate out segment types.
2004-05-04 21:25:57 +00:00
Alasdair Kergon
6606c3ae81
Update copyright notices.
2004-03-30 19:35:44 +00:00
Alasdair Kergon
a0313876e7
move hostname into global
2004-03-08 17:25:59 +00:00
Alasdair Kergon
cf6dd25126
tagging
2004-03-08 17:19:15 +00:00
Alasdair Kergon
397b239bdf
Log full details when "VG data differs between PVs" error message occurs.
2004-01-02 14:04:44 +00:00
Alasdair Kergon
50b39413ac
Relax restriction on pe_start location when re-writing LVM1 metadata.
2003-12-09 17:51:39 +00:00
Alasdair Kergon
12bb377f9b
Default to unlimited number of LVs/PVs in lvm2 format.
2003-11-06 20:33:34 +00:00
Alasdair Kergon
6078f63801
Prevent PV allocation bit getting changed for format_text orphans.
2003-11-06 20:15:13 +00:00
Alasdair Kergon
fee16e1049
Cope better with LVM1 minor numbers & LV numbers.
2003-11-06 16:58:38 +00:00
Alasdair Kergon
4c22730b53
Some tidyups and minor fixes.
2003-08-20 15:48:27 +00:00
Alasdair Kergon
914c97239f
Another sync point - numerous fixes & clean ups.
2003-07-04 22:34:56 +00:00
Alasdair Kergon
b896caa19b
Improve build robustness.
2003-04-15 13:24:42 +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
4c64ed4ced
New column-based reporting tools: lvs, pvs & vgs.
2002-12-12 20:55:49 +00:00
Alasdair Kergon
c3aa104a8d
Missing sector->k conversion in "logical volumes cannot be larger than" mesg.
2002-11-18 16:08:45 +00:00
Alasdair Kergon
d1d9800ef1
Refactoring.
2002-11-18 14:01:16 +00:00
Alasdair Kergon
6b4c9ff740
Some partial VG support with format_text.
2002-04-30 17:12:37 +00:00
Alasdair Kergon
e1f93d52e3
get_vgs must check for text format VGs when no lvm1 format VGs present
2002-04-30 12:27:13 +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
Alasdair Kergon
ab053ad6c1
Fix lv_setup() not to generate a new lvid each time if asked to setup the
...
same LV more than once - subsequent times validate only.
2002-04-05 14:32:22 +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
187cf4c97d
o Convert lv->id back to lv_number when writing back to disk
...
o Use first unused lv_number when creating new LV
o Use lv_number for refs to snapshots
o Update persistent minor logic after the lvcreate restructure
o Reset all parameters before use in lvcreate.
2002-02-21 19:04:37 +00:00
Alasdair Kergon
a45f546fe0
o Use 'pvcreate --setphysicalvolumesize' with no short form (instead of -s)
...
and add severe warning if it's used to make a device seem bigger than
it really is. This is not an option people should be using as it
breaks metadata integrity.
o Use uint64_t throughout (rather than unsigned long long)
o Convert a few messages that contain pathnames into the more common form:
pathname: message
2002-02-20 18:29:30 +00:00
Heinz Mauelshagen
e1d93eb457
Second path on "pvcreate -s"
2002-02-15 14:33:59 +00:00
Heinz Mauelshagen
f48d3bcbd0
First cut on "pvcreate -s"
2002-02-15 01:26:16 +00:00
Heinz Mauelshagen
69019d6e9e
test printf removed
2002-02-13 21:30:51 +00:00
Heinz Mauelshagen
df89b641bb
LV maximum size limit of 2TB ensured in _lv_setup()
2002-02-13 21:28:56 +00:00
Joe Thornber
0a9f8bcf97
o First pass at format1 snapshot support.
2002-02-13 11:43:29 +00:00
Joe Thornber
7d68b08028
o First changes to add snapshot support.
...
I'm taking a different route from LVM1 here in that snapshots are a
seperate entity from the logical volumes, I think of them as an
application of an LV (or two lvs rather). As such there is a list of
snapshots held against the vg, and there is *not* a SNAPSHOT, or
SHAPSHOT_ORG flag in lv->status.
2002-02-12 16:31:31 +00:00
Alasdair Kergon
60274aba6e
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
f53c6aa66e
o Basic support for exporting (but importing not completed yet).
...
o When volume group does not have write flag set, prevent changes to it.
o Preparation for partial activation (not completed yet).
2002-01-29 17:23:33 +00:00
Heinz Mauelshagen
f7ff4d005f
Zero gap after PV structure on write to disk in order to make non LVM tools happier (AED's idea and patch for LVM1)
2002-01-29 15:52:11 +00:00
Alasdair Kergon
1176eb2597
Tweak some error message levels.
2002-01-27 21:30:47 +00:00
Heinz Mauelshagen
ff783e52c9
removed ~64limit for PEs per PV agk introduced
2002-01-24 19:20:35 +00:00
Joe Thornber
58c18efc07
o Limit for number of extents should be 65534.
2002-01-24 17:32:56 +00:00
Joe Thornber
2fe9b1387b
o Add check for > 65k extents in a single lv.
2002-01-24 17:16:36 +00:00
Joe Thornber
cc282870dd
o Changed
...
struct pv_list {
struct list list;
struct physical_volume pv;
};
to
struct pv_list {
struct list list;
struct physical_volume *pv;
};
o New function in toollib 'create_pv_list', which creates a list of pv's
from a given command line array of pv's.
o Changed lvcreate/extend to use this (fixes lvextend [pv list] bug).
2002-01-21 16:05:23 +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
b80f32dd0a
Clarify terminology:
...
VG is resizeable - PVs can be added or removed
PV is allocatable - free extents on it may be allocated to LVs
2002-01-10 15:09:51 +00:00
Alasdair Kergon
5238b63f1a
Miscellaneous tidying
2001-11-14 13:52:38 +00:00
Joe Thornber
29aa6d5850
o Added dev_open and dev_close functions
...
o Changed disk-rep to use these
o if NDEBUG is not defined the dev_cache will check for open devices on
teardown.
I was hoping this would speed things up. But I'm still getting:
reti:/home/joe/sistina/LVM2/tools# time ./lvm vgchange -a n
Volume group vg0 successfully changed
real 0m5.751s
user 0m0.060s
sys 0m0.070s
even though I have only 1 device with the vg on it passing the filters.
2001-11-14 10:01:52 +00:00
Alasdair Kergon
277237805a
iospace restructured
2001-11-12 15:10:01 +00:00
Joe Thornber
66b0745933
o add uplink from vg to cmd_context
2001-11-12 12:23:10 +00:00
Joe Thornber
2107f48208
o Split struct io_space into:
...
struct format_handler - format methods
struct format_instance - links instance data, methods, and cmd
struct cmd_context - dev_dir, memory allocator, device filter
2001-11-12 12:16:57 +00:00
Alasdair Kergon
f047219b23
Link in the activation library.
2001-11-02 16:28:04 +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
Joe Thornber
b892f8ecb6
o random little fixes
2001-10-30 17:53:21 +00:00
Joe Thornber
d7c5efe663
o was freeing memory from the wrong pool
2001-10-25 15:24:35 +00:00
Joe Thornber
c7f0b573ac
o use dev_name(dev) to get the name of a device, this operation is cheap
...
since it just get's the first alias.
2001-10-25 14:04:18 +00:00
Joe Thornber
3cfae6cfce
o Remove a couple of warnings, and one bug in ttree. Spotted by the optimiser
2001-10-25 13:08:29 +00:00
Alasdair Kergon
cd77c5a7b7
pvdisplay
2001-10-18 16:55:19 +00:00
Alasdair Kergon
8f8a968dc2
pvchange
2001-10-17 15:29:31 +00:00
Alasdair Kergon
a381c45a6e
vgchange
2001-10-16 16:25:28 +00:00
Alasdair Kergon
aa290eb285
vgcreate basic extent size validation
2001-10-15 20:29:15 +00:00
Alasdair Kergon
df2e0dc751
More vgcreate error trapping
2001-10-15 18:39:40 +00:00
Alasdair Kergon
ca8f8837c2
o lvm readline error-case tidy-up
...
o more vgcreate error cases
2001-10-15 12:49:58 +00:00
Joe Thornber
8a482590fa
o vgcreate
2001-10-12 14:25:53 +00:00
Joe Thornber
72a5e12b5c
o pvcreate
...
o added uuid unit
o stubbed partition stuff
2001-10-12 10:32:06 +00:00
Alasdair Kergon
6e91eeef13
vgreduce, vgremove, vgrename & vgscan
2001-10-11 21:35:55 +00:00
Joe Thornber
6b6a344e09
o a very quick hack to get vg_number right
2001-10-11 14:10:18 +00:00
Joe Thornber
ece1fe835c
o vg->pv_act
2001-10-11 13:05:55 +00:00
Joe Thornber
ab47fb661f
o calculate pv_numbers and lv_numbers for LVM1 support
2001-10-11 10:55:19 +00:00
Joe Thornber
e3de4ba830
o forgot to init a list head
2001-10-10 13:09:40 +00:00
Joe Thornber
88835ab641
o pv_setup for format1, this is the last one !
2001-10-10 10:55:55 +00:00
Joe Thornber
de9acc04f6
o pv_write for orphan pv's
2001-10-10 10:05:29 +00:00
Joe Thornber
755590409e
o Code to calculate the metadata layout.
2001-10-10 09:25:04 +00:00
Joe Thornber
11d9c9f2a5
o stub pv_write to stop tools crashing
2001-10-09 17:44:58 +00:00
Joe Thornber
a82ba3827c
o remove another spurious error message
2001-10-09 17:30:20 +00:00
Joe Thornber
e15559aa3c
o spot empty list in build_vg
2001-10-09 17:09:46 +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
Joe Thornber
83545752cf
o hack, hack, hack
2001-10-09 14:26:45 +00:00
Joe Thornber
87e8aeca40
o vg_write compiles
2001-10-09 10:47:52 +00:00
Joe Thornber
7a8c751a8f
o get_vgs works
2001-10-09 09:22:50 +00:00
Joe Thornber
47bd29840d
o pv_Read works
2001-10-09 08:58:52 +00:00
Joe Thornber
4c9c080e07
o get_pvs now works for format 1
2001-10-09 08:11:52 +00:00
Joe Thornber
c8ca2a2993
o get_pvs for format 1
...
o fix vg_read if vg doesn't exist
2001-10-08 17:53:43 +00:00
Joe Thornber
67905e0d59
o added pretty printing to read_vg_t, run this on your system
...
to see what vg's you've got
S: ----------------------------------------------------------------------
2001-10-08 17:28:49 +00:00
Joe Thornber
f5f8443131
o read_vg works (or so it claims)
2001-10-08 16:08:16 +00:00
Joe Thornber
721128e86d
o sync
2001-10-08 12:11:33 +00:00
Joe Thornber
812efa0f48
o get things compiling
2001-10-08 09:45:16 +00:00
Joe Thornber
d81ec60d19
o test program for reading a vg
2001-10-08 08:47:27 +00:00
Joe Thornber
df765ac1c8
o end of day sync
2001-10-05 16:36:53 +00:00
Joe Thornber
064c620fb0
o finished writing extent reading code
2001-10-05 13:59:44 +00:00