1
0
mirror of git://sourceware.org/git/lvm2.git synced 2024-12-22 17:35:59 +03:00
Commit Graph

671 Commits

Author SHA1 Message Date
Alasdair Kergon
914c97239f Another sync point - numerous fixes & clean ups. 2003-07-04 22:34:56 +00:00
Alasdair Kergon
46a68b7dd6 move functions 2003-05-06 12:22:24 +00:00
Alasdair Kergon
44c319cf0d move fields 2003-05-06 12:06:02 +00:00
Alasdair Kergon
8b99c8b6ec reset_locking() 2003-05-06 12:03:13 +00:00
Alasdair Kergon
2fc3a4576f Move fields. 2003-05-06 12:02:36 +00:00
Alasdair Kergon
9a5e05a406 list_next 2003-05-06 12:01:13 +00:00
Alasdair Kergon
9019ed2e77 Add argv 2003-05-06 12:00:51 +00:00
Alasdair Kergon
b9e67d4f46 Distinguish between visible & top level devices. 2003-05-06 12:00:29 +00:00
Alasdair Kergon
6faef15ecd add region size & interval 2003-04-30 15:27:48 +00:00
Alasdair Kergon
10b29b8d2d pvmove support 2003-04-30 15:26:25 +00:00
Alasdair Kergon
8afb045af2 Add mirror.c 2003-04-30 15:24:49 +00:00
Alasdair Kergon
97d344e2cb basic pvmove support 2003-04-30 15:23:43 +00:00
Alasdair Kergon
5053603d2a pvmove flag 2003-04-30 15:22:52 +00:00
Alasdair Kergon
7b44156315 mirror type 2003-04-30 15:22:36 +00:00
Alasdair Kergon
9d6e5a6387 mirror display type 2003-04-30 15:21:43 +00:00
Alasdair Kergon
4b7af6da11 Add comment 2003-04-30 15:21:10 +00:00
Alasdair Kergon
fe451a01e8 Try alternative syncs if BLKFLSBUF fails. 2003-04-28 16:20:39 +00:00
Alasdair Kergon
662b119be6 Extra metadata-reading debug message. 2003-04-28 12:18:53 +00:00
Alasdair Kergon
eb8ae8e837 Update segment area length when merging consecutive segments. 2003-04-24 22:46:47 +00:00
Alasdair Kergon
b8c919b402 o Metadata area struct change.
o Support physical extent restrictions on PV lists for allocations
    e.g. lvcreate -l 200 vg1 /dev/sda1:100-199:300-399
2003-04-24 22:23:24 +00:00
Alasdair Kergon
a3f950d56f stripe filler parameter 2003-04-24 22:10:56 +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
9a079266dd Add pool_strndup 2003-04-24 21:58:34 +00:00
Alasdair Kergon
010c07de20 Improve message for pvcreate of empty device. 2003-04-22 16:09:11 +00:00
Alasdair Kergon
b896caa19b Improve build robustness. 2003-04-15 13:24:42 +00:00
Alasdair Kergon
5beb6fab74 Abort if any filter creation fails. 2003-04-15 13:22:43 +00:00
Alasdair Kergon
258c50db74 Cope with intentionally missing /proc. 2003-04-15 13:21:38 +00:00
Alasdair Kergon
446155d94f Support snapshot status fraction. 2003-04-15 13:20:16 +00:00
Alasdair Kergon
27f364af95 Allow for specification of major number as well as minor. 2003-04-02 19:14:43 +00:00
Alasdair Kergon
34e0f798e3 size_t tidying 2003-04-02 19:11:23 +00:00
Alasdair Kergon
26e7f2e0c4 Tidy various pre-processing incl. making libdl optional. 2003-03-24 18:08:53 +00:00
Alasdair Kergon
3a1703294b Fix incomplete munmap. (pjc) 2003-03-20 14:29:28 +00:00
Joe Thornber
712a874f07 HAT_CHAR and DOLLAR_CHAR were defined to the same value ! 2003-02-20 14:53:56 +00:00
Alasdair Kergon
7e4867f743 LV name validation 2003-02-03 20:09:58 +00:00
Alasdair Kergon
c0002e576e Identifiers may now start with digits etc. 2003-02-03 20:08:45 +00:00
Alasdair Kergon
efb63f4740 Allow strings in single quotes too 2003-01-28 17:20:11 +00:00
Alasdair Kergon
41102098e5 Treat 'section{' as equivalent to 'section {' 2003-01-28 16:07:04 +00:00
Alasdair Kergon
79be52c881 Indicate full (dropped) snapshot. 2003-01-21 18:50:50 +00:00
Alasdair Kergon
a421f74371 vgreduce --removemissing to remove missing PVs & deps & make VG consistent 2003-01-17 21:04:26 +00:00
Alasdair Kergon
711f7fc681 Activation commands now return success in test mode. 2003-01-17 20:16:23 +00:00
Alasdair Kergon
e9ea1fb3bf Fix (rare) cache bug on machines with large /dev directories. 2003-01-10 19:14:01 +00:00
Alasdair Kergon
04e8cd96f3 Fix segfault in uuid display (substitution missed during bulk change) 2003-01-09 19:35:17 +00:00
Alasdair Kergon
199e490e7d configure --disable-devmapper if you don't have libdevmapper 2003-01-08 22:44:07 +00:00
Alasdair Kergon
4970ebfb92 o Additional device/filter-level debugging messages + duplicate alias fix
o 32/64-bit size_t fix (pjc)
2003-01-08 16:41:22 +00:00
Alasdair Kergon
f3f3424f9a Detect duplicate PV uuids - select the one on an md device if appropriate. 2003-01-06 21:10:43 +00:00
Alasdair Kergon
fdf481c665 Ignore filter cache at startup if config file is newer than cache. 2003-01-06 21:09:04 +00:00
Alasdair Kergon
4aae68792c When there are device name aliases, choose the "nicest" to display. 2003-01-03 21:11:23 +00:00
Alasdair Kergon
4e268ceacb Also lock memory during LV updates. 2003-01-03 21:10:28 +00:00
Alasdair Kergon
4086fb2620 When activating an LV, remove any stray LVM1 /dev nodes and group file. 2003-01-03 13:50:47 +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
69e2befd15 Use sync_dir(). 2002-12-05 22:56:22 +00:00
Alasdair Kergon
0fc1d0788d Add sync_dir() 2002-12-05 22:51:15 +00:00
Alasdair Kergon
28879d4174 Fix display alignment of zero. 2002-12-05 22:42:31 +00:00
Alasdair Kergon
8a95d67e26 Maintain snapshot_count correctly. 2002-12-05 22:30:39 +00:00
Alasdair Kergon
a14e14efdd Keep some ld versions happy. 2002-12-05 22:27:43 +00:00
Alasdair Kergon
a648372757 New devices/types config file entry to add new types of block devices. 2002-12-03 16:20:38 +00:00
Alasdair Kergon
11779747ef Show PV uuid; single stripe is 'linear'; suppress snapshot fields for origin. 2002-12-03 13:26:17 +00:00
Alasdair Kergon
66a8d8b4b2 Show stripesize in KB. 2002-11-26 21:56:57 +00:00
Alasdair Kergon
22d2827b41 Skip config file reload attempt if no config file location. 2002-11-26 12:14:37 +00:00
Alasdair Kergon
50d7e96c6d Remove 2 TB LV size restriction message. 2002-11-18 16:21:00 +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
5a52dca9c2 Some new features. 2002-11-18 14:04:08 +00:00
Alasdair Kergon
d1d9800ef1 Refactoring. 2002-11-18 14:01:16 +00:00
Alasdair Kergon
74b27447c1 A new cache. 2002-11-18 13:53:58 +00:00
Alasdair Kergon
f2187638dc Don't let LVM2 access a VG if the original LVM driver appears to be using it. 2002-11-01 19:57:25 +00:00
Joe Thornber
6086b60455 o inline _step_matcher 2002-08-29 15:05:16 +00:00
Joe Thornber
22a0881ded o Anchor support for the regex engine. 2002-08-29 14:46:30 +00:00
Patrick Caulfield
da253e3aac Remove O_DIRECT as it causes problems with some systems.
Harumph.
2002-08-14 14:58:00 +00:00
Joe Thornber
b1545f2985 o Make sure the status parsing code can deal with an empty array. 2002-08-01 12:51:48 +00:00
Joe Thornber
07bb413a8f o Added new value type CFG_EMPTY_ARRAY, to indicate '[]', useful since we use
the arrays to hold a symbolic set of flags.
2002-08-01 12:46:52 +00:00
Joe Thornber
ffa879d092 o 0 was used rather than NULL in a couple of places.
o  Indent output with tabs rather than single spaces.
2002-08-01 08:22:09 +00:00
Patrick Caulfield
7a0ed4a40c Rename lock_resource to file_lock_resource to avoid name clashes 2002-07-25 09:04:30 +00:00
Patrick Caulfield
6b3b4a250b Use O_DIRECT for writing to devices.
Doesn't work on HPPA due to a kernel bug but other archs shuld be OK.
2002-07-22 08:10:54 +00:00
Alasdair Kergon
12caf445d4 Remove hard-coded extent_size from snapshot target (field no longer used). 2002-07-17 17:00:54 +00:00
Joe Thornber
7cc602c800 i) Add the VISIBLE flag to the text format. (Other changes are pending
for lib/activate.)
2002-07-11 15:28:49 +00:00
Joe Thornber
291906a208 i) Added a little macro to aid defining the status flags. 2002-07-11 14:36:45 +00:00
Joe Thornber
097d49e73d i) There's now a seperate field in struct logical_volume that stores the
allocation policy.  This can currently take one of three values:

   typedef enum {
        ALLOC_NEXT_FREE,
        ALLOC_STRICT,
        ALLOC_CONTIGUOUS
   } alloc_policy_t;

    Notice that 'SIMPLE' has turned into the slightly more meaningful NEXT_FREE.

ii) Put code into display.[hc] for converting one of these enums to a
    text representation and back again.

ii) Updated the text format so this also has the alloc_policy field.
2002-07-11 14:21:49 +00:00
Alasdair Kergon
407332cb9a tidy 2002-07-11 14:09:26 +00:00
Alasdair Kergon
48450b8f43 Add get_config_str 2002-07-11 14:07:43 +00:00
Patrick Caulfield
38f3949b25 Don't log an error if we can't write the cache file because the FS is read-only.
Gets rid of that annoying error at shutdown.
2002-07-11 09:23:29 +00:00
Alasdair Kergon
48ad31920d Add --ignorelockingfailure 2002-07-10 20:43:32 +00:00
Alasdair Kergon
0dbd22124b Merge adjacent "Missing" segments. 2002-07-10 13:54:17 +00:00
Joe Thornber
7df3006c6b o Add version number to text format. 2002-07-02 18:47:43 +00:00
Patrick Caulfield
b40b90f035 Flush on open as well as close. 2002-06-25 14:02:28 +00:00
Patrick Caulfield
aefa3c6d82 Get rid of compile warnings on 64bit platforms. 2002-06-07 08:37:07 +00:00
Alasdair Kergon
70d6838fb0 Tidy 2002-05-31 19:28:37 +00:00
Alasdair Kergon
61e9603be5 Remember to update VG free_count when reducing size of an LV. 2002-05-30 16:08:19 +00:00
AJ Lewis
fa6a82c9af o fix changed function names 2002-05-23 14:13:21 +00:00
Alasdair Kergon
5f05971a84 Fix LVM1 backwards compatibility issue when LV with a low LV number is deleted. 2002-05-23 11:37:51 +00:00
Alasdair Kergon
c826c0d17c Rename; add some FIXMEs. 2002-05-22 14:03:45 +00:00
Alasdair Kergon
1f835295d8 Revert to standard linux macros (for correct behaviour on rare architectures). 2002-05-21 12:37:07 +00:00
Andres Salomon
6106741bea ack, missing include 2002-05-19 04:11:34 +00:00
Andres Salomon
6e0fa64c7b update create_dir() comment 2002-05-19 03:52:38 +00:00
Andres Salomon
310a81c90c support recursive mkdir in create_dir() 2002-05-19 03:46:34 +00:00
Alasdair Kergon
031079703f Rewrite missing/corrupt metadata in more cases. 2002-05-13 12:38:54 +00:00
AJ Lewis
39ed033adb 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
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
64ad493eac Remove a no-op. 2002-05-09 12:03:55 +00:00
AJ Lewis
29152f6ef0 o header should only be printed once... 2002-05-08 17:58:52 +00:00
AJ Lewis
fccc39a3a7 o Added function find_snapshots to snapshot_manip.c that returns a list
of snapshots whose origin is the lv passed in.
 o Used this new function to make lvdisplay properly display all snapshots
   attached to a origin.
2002-05-08 16:57:46 +00:00
Andres Salomon
8ac9aae78a implement our own swabbing functions, instead of relying on the kernel's. 2002-05-07 15:28:59 +00:00
Alasdair Kergon
c5e08c6c83 Default values for some display output settings 2002-05-07 12:50:01 +00:00
Alasdair Kergon
5be981bab5 Tweaks 2002-05-07 12:47:11 +00:00
Andres Salomon
b9923fe3f2 Make lvm2 compile on big endian archs; use the kernel/glibc's endian
conversion stuff, instead of implementing our own.  Tested on a little
endian system (x86); I'll let the debian handle big endian testing.  :)
2002-05-07 05:54:14 +00:00
AJ Lewis
b7749b7a96 o Will now correctly remove expired achive files from the system when
archive_vg is called.
 o Added a #define to the top of the file - not sure if this is the
   appropriate place for it though
2002-05-03 19:28:07 +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
AJ Lewis
6e2ff7fb35 o Updated *display output for LVM1 compatibility
o There is still a bit missing
   + all are missing the {PV,VG,LV} # - that is not applicable in LVM2
   + pvdisplay doesn't show how many LVs are contained on it
   + much of the snapshot information isn't available for lvdisplay
 o Look at the code for other potiential FIXMEs  :)
2002-04-29 21:43:14 +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
Joe Thornber
e3528bcda7 o Stop printing errors if flushing fails (could be an unconfigured device). 2002-04-24 08:37:34 +00:00
Alasdair Kergon
de3bec7f81 Missing seg->lv gives segfault when activating from text format. 2002-04-16 19:41:54 +00:00
Alasdair Kergon
69e8a53ee4 Allow deactivation of final snapshot. 2002-04-16 14:42:20 +00:00
Alasdair Kergon
7e3d403b88 Implement a no_locking module that *does* attempt activation. 2002-04-11 14:10:32 +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
Patrick Caulfield
426bc429ef Remove \n from log messages. 2002-04-10 15:49:47 +00:00
Joe Thornber
f31c47ade8 o Perform a BLKFLSBUF ioctl whenever a block device is closed.
Patrick, can you see if this fixes your cluster syncing problem please ?
If so I'll make it so it only syncs if you have actually written to the
device.
2002-04-08 18:59:50 +00:00
Patrick Caulfield
2fab033e9b Implement an external locking interface. 2002-04-08 16:04:50 +00:00
Patrick Caulfield
c34d34e6a0 Fix prototype. 2002-04-08 13:35:09 +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
Patrick Caulfield
ae70673752 Make lock type numbers match the DLM numbers in use, and move UNLOCK out
of the way.
2002-04-04 13:31:21 +00:00
Alasdair Kergon
8856889d10 Rename LCK_NONE to LCK_UNLOCK 2002-04-04 11:18:45 +00:00
Alasdair Kergon
607bcd61d0 Tidying. 2002-04-03 12:17:55 +00:00
Alasdair Kergon
7bb6856a7e 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
4bb3eccf2b New-style persistent minor support. 2002-03-26 13:41:37 +00:00
Alasdair Kergon
e04c519896 o read-only device support
o name/uuid disambiguation
2002-03-25 18:54:59 +00:00
Alasdair Kergon
c1b5fc6673 Fix typo. 2002-03-25 18:50:37 +00:00
Alasdair Kergon
9585e50fef Better support for LVs with hyphens in names. 2002-03-19 16:41:44 +00:00
Alasdair Kergon
2ed2a72439 lvrename works on snapshots now 2002-03-18 23:25:50 +00:00
Alasdair Kergon
a76ba817a8 Tie all snapshot (de)activation requests to (de)activation of origin device. 2002-03-18 13:09:27 +00:00
Alasdair Kergon
20ce742691 s/Removing/Unloading/ in messages to reduce confusion 2002-03-15 23:01:59 +00:00
Alasdair Kergon
a69de4919b Cut the number of device-mapper calls. 2002-03-15 22:59:12 +00:00
Alasdair Kergon
a6bf4bcfa2 New function to enable suppression of messages to stdout/stderr. 2002-03-15 22:54:04 +00:00
Alasdair Kergon
568d7229bf Review locking: block signals instead of ignoring them and restore state
afterwards; avoid race condition with unlink; add LCK_HOLD to process_each_vg.
2002-03-15 16:07:38 +00:00
Alasdair Kergon
14a9cda63b Reduce the number of dm info calls. 2002-03-14 21:17:30 +00:00
Alasdair Kergon
20c5fcf764 Integrate suspend. 2002-03-14 15:36:07 +00:00
Joe Thornber
d8e7d77316 o dev_manager_suspend, untested. 2002-03-14 10:56:09 +00:00
Alasdair Kergon
dd420615d5 Set LV uuid. 2002-03-13 15:11:29 +00:00
Alasdair Kergon
251502f9a1 Move is_empty_dir to lvm-file 2002-03-11 22:23:24 +00:00
Joe Thornber
bb13858120 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
2ec94d4daf 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
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
323a167b49 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
fd6932b18b 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
5295f36cb4 o knock out the offset for origin targets. 2002-03-08 10:45:01 +00:00
Joe Thornber
4526747997 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
11d2da4036 o First cut at dev scanning.
o  Split up _expand_lv
2002-03-07 17:37:38 +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
Joe Thornber
eea1d6932c 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