summaryrefslogtreecommitdiffstats
path: root/WHATS_NEW
blob: 47039c5413770a432abc43e23a8d865600a096b6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
Version 2.00.21 - 
=============================
  Use 'make install_cluster' to install cluster extensions only.
  Cope with DT_UNKNOWN in sysfs.
  Fix extents_moved metadata size comment.
  Remove duplicate line in pvremove help text.
  Support variable mirror region size.
  Support PE ranges in pvmove source PV.
  Fixes to as-yet-unused LV segment splitting code.
  Change alloc_areas to pe_ranges and allow suppression of availability checks.
  Add dev_size column to pvs.
  Add report columns for in-kernel device number.

Version 2.00.20 - 3 July 2004
=============================
  More autoconf fixes.
  Fix device number handling for 2.6 kernels.

Version 2.00.19 - 29 June 2004
==============================
  Reduce severity of setlocale failure message.
  Recognise argv[0] "initrd-lvm" (pld-linux).
  Make -O2 configurable.
  Added --disable-selinux to configure script.
  LD_FLAGS->LDFLAGS & LD_DEPS->LDDEPS in configure script.
  Add init_debug to clvmd.

Version 2.00.18 - 24 June 2004
==============================
  Fix vgchange activation.
  Add cluster support.

Version 2.00.17 - 20 June 2004
==============================
  configure --enable-fsadm to try out fsadm.  fsadm is not tested yet.
  Display all filtered devices, not just PVs, with pvs -a.
  Fix sync_dir() when no / in filename
  vgcfgbackup -f accepts template with %s for VG name.
  Extend hash functions to handle non-null-terminated data.
  Add local activation support.
  Tidy relative paths in makefile includes.
  fsadm support for fsck and resizing - needs testing.
  Add read-only GFS pool support.
  Add lvm2create_initrd script from http://poochiereds.net/svn/lvm2/
  Fix rounding of large diplayed sizes.
  Suppress decimal point when using units of sectors/bytes.
  Additional kernel target checks before pvmove & snapshot creation.
  Add i2o_block.

Version 2.00.16 - 24 May 2004
=============================
  Set area_count within alloc_lv_segment.
  Remove error labels from lvresize.
  Fix a pvs error path.
  xxchange -ae for exclusive activation.
  Don't return non-zero status if there aren't any volume groups.
  Add --alloc argument to tools.
  Rename allocation policies to contiguous, normal, anywhere, inherit.
  nextfree becomes normal; anywhere isn't implemented yet.
  LV inherits allocation policy from VG. Defaults: LV - inherit; VG - normal
  Additional status character added to vgs to indicate allocation policy.
  Add reset_fn to external_locking.
  Ensure presence of virtual targets before attempting activating.
  Attempt to fix resizing of snapshot origins.
  Restructure lvresize, bringing it closer to lvcreate.
  A quick sanity check on vg_disk struct when read in.  More checks needed.
  Only include visible LVs in active/open counts.
  Add virtual segment types, zero and error.  A large sparse device can be
constructed as a writeable snapshot of a large zero segment.
  Add --type to lvcreate/resize.
  Push lv_create & alloc policy up to tool level.
  Fix pvdisplay return code.
  Detect invalid LV names in arg lists.
  Reporting uses line-at-a-time output.
  lvm2 format sets unlimited_vols format flag.
  Internal-only metadata flag support.
  Basic checking for presence of device-mapper targets.
  Separate out polldaemon.
  Revise internal locking semantics.
  Move find_pv_by_name to library.
  Rename move->copy.
  Add devices to segments report.
  Begin separating out segment code. There's a lot of change here.
  Compress any (obsolete) long LVM1 pvids encountered.
  Support for tagged config files.
  Don't abort operations if selinux present but disabled.
  Fix typo in configure which left HAVE_LIBDL unset.

Version 2.00.15 - 19 Apr 2004
=============================
  configure --with-owner= --with-group= to avoid -o and -g args to 'install'

Version 2.00.14 - 16 Apr 2004
=============================
  Use 64-bit file functions by default.

Version 2.00.13 - 16 Apr 2004
=============================
  Set devices/md_component_detection = 1 to ignore devices containing md
  superblocks. [Luca Berra]
  Ignore error setting selinux file context if fs doesn't support it.

Version 2.00.12 - 14 Apr 2004
=============================
  Install a default lvm.conf into /etc/lvm if there isn't one already.
  Allow different installation dir for lvm.static (configure --staticdir=)
  Fix inverted selinux error check.
  Recognise power2 in /proc/devices.
  Fix counting in lvs_in_vg_opened. [It ignored devices open more than once.]

Version 2.00.11 - 8 Apr 2004
============================
  Set fallback_to_lvm1 in lvm.conf (or configure --enable-lvm1_fallback)
  to run lvm1 binaries if running a 2.4 kernel without device-mapper.

Version 2.00.10 - 7 Apr 2004
============================
  More fixes for static build.
  Add basic selinux support.
  Fix sysfs detection.

Version 2.00.09 - 31 Mar 2004
=============================
  Update copyright notices for Red Hat.
  Fix vgmknodes to remove dud /dev/mapper entries. (libdevmapper update reqd).
  Add LVM1-style colon output to vgdisplay.
  lvchange --refresh to reload active LVs.
  Add string display to memory leak dump.
  Add locking flags & memlock option.
  Add list_versions to library.
  Ignore open hidden LVs when checking if deactivation is OK.
  Suppress move percentage when device inactive.
  Add lv_info_by_lvid.
  Various tidy-ups to the build process.
  Rebaseline internal verbose level.
  Add --nolocking option for read operations if locking is failing.
  Add option to compile into a library.
  When compiled without libdevmapper, only print warning message once.
  Fix lvreduce PV extent calculations.
  Fix DESTDIR to work with configure path overrides.
  Always use / as config file separator & rename internal config file variables.
  Add support for tagging PV/VG/LVs and hosts.
  Fix rare bug in recognition of long cmdline argument forms.
  Add basic internationalisation infrastructure.
  Don't recurse symlinked dirs such as /dev/fd on 2.6 kernels.
  Update autoconf files.
  Add sysfs block device filtering for 2.6 kernels.
  Update refs for move to sources.redhat.com.

Friday 14th November 2003
=========================
Some bug fixes & minor enhancements, including:
  Backwards compatibility with LVM1 metadata improved.
  Missing man pages written.
  Tool error codes made more consistent.
  vgmknodes written.
  O_DIRECT can be turned off if it doesn't work in your kernel.
  dumpconfig to display the active configuration file

You need to update libdevmapper before using 'vgmknodes' or 'vgscan --mknodes'.
If your root filesystem is on an LV, you should run one of those two
commands to fix up the special files in /dev in your real root filesystem 
after finishing with your initrd.  Also, remember you can use
'vgchange --ignorelockingfailure' on your initrd if the tool fails because
it can't write a lock file to a read-only filesystem.

Wednesday 30th April 2003
=========================
A pvmove implementation is now available for the new metadata format.

When running a command that allocates space (e.g. lvcreate), you can now
restrict not only which disk(s) may be used but also the Physical Extents 
on those disks.  e.g. lvcreate -L 10 vg1 /dev/hda6:1000-2000:3000-4000


Monday 18th November 2002
========================

The new format of LVM metadata is ready for you to test!
  We expect it to be more efficient and more robust than the original format.
  It's more compact and supports transactional changes and replication.
  Should things go wrong on a system, it's human-readable (and editable).

Please report any problems you find to the mailing list, 
linux-lvm@sistina.com.  The software has NOT yet been thoroughly
tested and so quite possibly there'll still be some bugs in it.
Be aware of the disclaimer in the COPYING file.

While testing, we recommend turning logging on in the configuration file 
to provide us with diagnostic information:
  log {
        file="/tmp/lvm2.log"
	level=7
	activation=1
  }

You should schedule regular backups of your configuration file and
metadata backups and archives (normally kept under /etc/lvm).

Please read docs/example.conf and "man lvm.conf" to find out more about 
the configuration file.

To convert an existing volume group called vg1 to the new format using
the default settings, use "vgconvert -M2 vg1".  See "man vgconvert".

-M (or --metadatatype in its long form) is a new flag to indicate which
format of metadata the command should use for anything it creates.
Currently, the valid types are "lvm1" and "lvm2" and they can be
abbreviated to "1" and "2" respectively.  The default value for this
flag can be changed in the global section in the config file.

Backwards-compatible support for the original LVM1 metadata format is
maintained, but it can be moved into a shared library or removed
completely with configure's --with-lvm1 option.

Under LVM2, the basic unit of metadata is the volume group.  Different
volume groups can use different formats of metadata - vg1 could use
the original LVM1 format while vg2 used the new format - but you can't
mix formats within a volume group.  So to add a PV to an LVM2-format
volume group you must run "pvcreate -M2" on it, followed by "vgextend".

With LVM2-format metadata, lvextend will let you specify striping
parameters.  So an LV could consist of two or more "segments" - the
first segment could have 3 stripes while the second segment has just 2.

LVM2 maintains a backup of the current metadata for each volume group
in /etc/lvm/backup, and puts copies of previous versions in
/etc/lvm/archive.  "vgcfgbackup" and "vgcfgrestore" can be used to
create and restore from these files.  If you fully understand what 
you're doing, metadata can be changed by editing a copy of a current
backup file and using vgcfgrestore to reload it.

Please read the pvcreate man page for more information on the new
format for metadata.

All tools that can change things have a --test flag which can be used
to check the effect  of a set of cmdline args without really making the
changes.


What's not finished?
====================
The internal cache.  If you turn on debugging output you'll see lots of
repeated messages, many of which will eventually get optimised out.

--test sometimes causes a command to fail (e.g. vgconvert --test) even 
though the real command would work: again, fixing this is waiting for 
the work on the cache.

Several of the tools do not yet contain the logic to handle full
recovery: combinations of pvcreate and vgcfgrestore may sometimes be
needed to restore metadata if a tool gets interrupted or crashes or
finds something unexpected.  This applies particularly to tools that
work on more than one volume group at once (e.g. vgsplit).

Display output.  Some metadata information cannot yet be displayed.

Recovery tools to salvage "lost" metadata directly from the disks:
but we hope the new format will mean such tools are hardly ever needed!