From f1a960eb914870451e1c94a68791155e38dfff15675bd0c2b9f48c3d7f90e008 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Tue, 23 Oct 2012 17:40:13 +0000 Subject: [PATCH] Accepting request 138672 from Base:System - lvm2.spec: merge rules for device-mapper and lvm2-clvm packages, so there is only one spec file and all packages are built consistently. OBS-URL: https://build.opensuse.org/request/show/138672 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/lvm2?expand=0&rev=47 --- LVM2.2.02.84.tgz | 3 - LVM2.2.02.98.tgz | 3 + blkid-builtin.patch | 24 - boot.device-mapper | 5 + boot.lvm | 1 + cmdline_large_minor.diff | 15 - device-mapper-dmsetup-deps-export.patch | 14 +- device-mapper-dmsetup-export.patch | 79 +-- device-mapper-gcc-warning.diff | 45 -- device-mapper-type_punning.diff | 12 +- device-mapper.changes | 629 ------------------------ device-mapper.spec | 147 ------ dont_ignore_tmp_device_file.diff | 12 +- handle_extended_devt.diff | 16 +- improve_probing.diff | 16 +- k_dev_t.dif | 22 - lvm-pv-create-link.diff | 261 ---------- lvm2-clvm.changes | 101 ---- lvm2-clvm.spec | 116 ----- lvm2.changes | 21 + lvm2.spec | 181 +++++-- man_page_sectors.diff | 12 +- pipe_buff-definition.diff | 12 +- sleep-try-open-count.diff | 24 +- support-drbd-filter.diff | 21 +- udev-rules_update.diff | 27 +- 26 files changed, 306 insertions(+), 1513 deletions(-) delete mode 100644 LVM2.2.02.84.tgz create mode 100644 LVM2.2.02.98.tgz delete mode 100644 blkid-builtin.patch delete mode 100644 cmdline_large_minor.diff delete mode 100644 device-mapper-gcc-warning.diff delete mode 100644 device-mapper.changes delete mode 100644 device-mapper.spec delete mode 100644 k_dev_t.dif delete mode 100644 lvm-pv-create-link.diff delete mode 100644 lvm2-clvm.changes delete mode 100644 lvm2-clvm.spec diff --git a/LVM2.2.02.84.tgz b/LVM2.2.02.84.tgz deleted file mode 100644 index 82f9abf..0000000 --- a/LVM2.2.02.84.tgz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9238f3400208f26c0e5be896dd3bf41c4d515ab534de23aae8ef4d6ad0d3576d -size 980421 diff --git a/LVM2.2.02.98.tgz b/LVM2.2.02.98.tgz new file mode 100644 index 0000000..70a61c8 --- /dev/null +++ b/LVM2.2.02.98.tgz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:71030a58fef7e00d82ca4144334548e46aad24551a3cfbe7c3059b1bd137d864 +size 1227919 diff --git a/blkid-builtin.patch b/blkid-builtin.patch deleted file mode 100644 index 4c339ba..0000000 --- a/blkid-builtin.patch +++ /dev/null @@ -1,24 +0,0 @@ -From a2e5d2cb9c53cff13e48efa7ba2791d9deb36314 Mon Sep 17 00:00:00 2001 -From: Peter Rajnoha -Date: Thu, 16 Feb 2012 14:39:02 +0000 -Subject: [PATCH] Switch to using built-in blkid in 13-dm-disk.rules. - -Available in udev since version 176. ---- - WHATS_NEW_DM | 1 + - udev/13-dm-disk.rules | 2 +- - 2 files changed, 2 insertions(+), 1 deletions(-) - -Index: LVM2.2.02.84/udev/13-dm-disk.rules -=================================================================== ---- LVM2.2.02.84.orig/udev/13-dm-disk.rules -+++ LVM2.2.02.84/udev/13-dm-disk.rules -@@ -20,7 +20,7 @@ ENV{DM_UUID}=="?*", SYMLINK+="disk/by-id - ENV{DM_SUSPENDED}=="1", GOTO="dm_end" - ENV{DM_TARGET_TYPES}=="|*error*", GOTO="dm_end" - --IMPORT{program}="$env{DM_SBIN_PATH}/blkid -o udev -p $tempnode" -+IMPORT{builtin}="blkid" - ENV{DM_UDEV_LOW_PRIORITY_FLAG}=="1", OPTIONS+="link_priority=-100" - OPTIONS+="watch" - ENV{DM_TARGET_TYPES}=="*snapshot-origin*", OPTIONS+="link_priority=-90" diff --git a/boot.device-mapper b/boot.device-mapper index 571c60f..212ecba 100644 --- a/boot.device-mapper +++ b/boot.device-mapper @@ -10,6 +10,7 @@ # Required-Stop: boot.udev # Default-Start: B # Default-Stop: +# Short-Description: DM # Description: activate device mapper ### END INIT INFO @@ -27,6 +28,10 @@ case "$1" in rc_failed 3 rc_status -v ;; + reload) + rc_failed 3 + rc_status -v + ;; status) rc_failed 4 rc_status -v diff --git a/boot.lvm b/boot.lvm index d703f09..cf5ad1a 100644 --- a/boot.lvm +++ b/boot.lvm @@ -12,6 +12,7 @@ # Should-Stop: $null # Default-Start: B # Default-Stop: +# Short-Description: Start LVM2 # Description: start logical volumes ### END INIT INFO diff --git a/cmdline_large_minor.diff b/cmdline_large_minor.diff deleted file mode 100644 index 3670a47..0000000 --- a/cmdline_large_minor.diff +++ /dev/null @@ -1,15 +0,0 @@ -Index: tools/lvmcmdline.c -=================================================================== ---- tools/lvmcmdline.c.orig 2011-01-13 23:00:29.000000000 +0800 -+++ tools/lvmcmdline.c 2011-02-15 14:59:30.000000000 +0800 -@@ -380,8 +380,8 @@ - if (!_get_int_arg(av, &ptr) || (*ptr) || (av->sign == SIGN_MINUS)) - return 0; - -- if (av->i_value > 255) { -- log_error("Minor number outside range 0-255"); -+ if (av->i_value > 1048575) { -+ log_error("Minor number outside range 0-1048575"); - return 0; - } - diff --git a/device-mapper-dmsetup-deps-export.patch b/device-mapper-dmsetup-deps-export.patch index f896497..f5c4069 100644 --- a/device-mapper-dmsetup-deps-export.patch +++ b/device-mapper-dmsetup-deps-export.patch @@ -1,8 +1,10 @@ -Index: LVM2.2.02.84/tools/dmsetup.c -=================================================================== ---- LVM2.2.02.84.orig/tools/dmsetup.c 2011-02-15 15:00:52.000000000 +0800 -+++ LVM2.2.02.84/tools/dmsetup.c 2011-02-15 15:00:54.000000000 +0800 -@@ -1645,6 +1645,7 @@ +--- + tools/dmsetup.c | 23 +++++++++++++++++++++++ + 1 file changed, 23 insertions(+) + +--- LVM2.2.02.98.orig/tools/dmsetup.c ++++ LVM2.2.02.98/tools/dmsetup.c +@@ -1720,6 +1720,7 @@ static int _export(int argc, char **argv const char *name = NULL; const char *uuid = NULL; struct dm_info info; @@ -10,7 +12,7 @@ Index: LVM2.2.02.84/tools/dmsetup.c if (data) name = names->name; -@@ -1714,6 +1715,28 @@ +@@ -1789,6 +1790,28 @@ static int _export(int argc, char **argv printf("\n"); } diff --git a/device-mapper-dmsetup-export.patch b/device-mapper-dmsetup-export.patch index d7f515d..9c5b144 100644 --- a/device-mapper-dmsetup-export.patch +++ b/device-mapper-dmsetup-export.patch @@ -1,8 +1,34 @@ -Index: LVM2.2.02.84/tools/dmsetup.c -=================================================================== ---- LVM2.2.02.84.orig/tools/dmsetup.c 2011-02-05 06:17:55.000000000 +0800 -+++ LVM2.2.02.84/tools/dmsetup.c 2011-02-15 14:44:42.000000000 +0800 -@@ -1633,6 +1633,94 @@ +--- + man/dmsetup.8.in | 7 ++++ + tools/dmsetup.c | 89 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ + 2 files changed, 96 insertions(+) + +--- LVM2.2.02.98.orig/man/dmsetup.8.in ++++ LVM2.2.02.98/man/dmsetup.8.in +@@ -19,6 +19,9 @@ dmsetup \- low level logical volume mana + .RI [ \+ ]< sectors >| auto | none ] + .RE + .br ++.B dmsetup export ++.I [device_name] ++.br + .B dmsetup deps + .RB [ \-o + .IR options ] +@@ -285,6 +288,10 @@ device_name in subsequent dmsetup comman + If successful a device will appear as + /dev/mapper/. + See below for information on the table format. ++.IP \fBexport ++.I [device_name] ++.br ++Outputs information in key/value format to be imported by other programs. + .br + .TP + .B deps +--- LVM2.2.02.98.orig/tools/dmsetup.c ++++ LVM2.2.02.98/tools/dmsetup.c +@@ -1708,6 +1708,94 @@ static int _status(CMD_ARGS) return r; } @@ -95,38 +121,13 @@ Index: LVM2.2.02.84/tools/dmsetup.c +} + /* Show target names and their version numbers */ - static int _targets(int argc __attribute__((unused)), char **argv __attribute__((unused)), void *data __attribute__((unused))) + static int _targets(CMD_ARGS) { -@@ -2735,6 +2823,7 @@ - {"info", "[]", 0, 1, _info}, - {"deps", "[]", 0, 1, _deps}, - {"status", "[] [--target ]", 0, 1, _status}, -+ {"export", "[]", 0, 1, _export}, - {"table", "[] [--target ] [--showkeys]", 0, 1, _status}, - {"wait", " []", 0, 2, _wait}, - {"mknodes", "[]", 0, 1, _mknodes}, -Index: LVM2.2.02.84/man/dmsetup.8.in -=================================================================== ---- LVM2.2.02.84.orig/man/dmsetup.8.in 2011-02-05 03:33:54.000000000 +0800 -+++ LVM2.2.02.84/man/dmsetup.8.in 2011-02-15 14:44:42.000000000 +0800 -@@ -50,6 +50,9 @@ - .I [--noheadings] [--separator separator] [-o fields] [-O|--sort sort_fields] - .I [device_name] - .br -+.B dmsetup export -+.I [device_name] -+.br - .B dmsetup deps - .I [device_name] - .br -@@ -200,6 +203,10 @@ - If successful a device will appear as - /dev/device-mapper/. - See below for information on the table format. -+.IP \fBexport -+.I [device_name] -+.br -+Outputs information in key/value format to be imported by other programs. - .IP \fBdeps - .I [device_name] - .br +@@ -3058,6 +3146,7 @@ static struct command _commands[] = { + {"info", "[]", 0, -1, 1, _info}, + {"deps", "[-o options] []", 0, -1, 1, _deps}, + {"status", "[] [--noflush] [--target ]", 0, -1, 1, _status}, ++ {"export", "[]", 0, 1, 1, _export}, + {"table", "[] [--target ] [--showkeys]", 0, -1, 1, _status}, + {"wait", " [] [--noflush]", 0, 2, 0, _wait}, + {"mknodes", "[]", 0, -1, 1, _mknodes}, diff --git a/device-mapper-gcc-warning.diff b/device-mapper-gcc-warning.diff deleted file mode 100644 index 6eb7bef..0000000 --- a/device-mapper-gcc-warning.diff +++ /dev/null @@ -1,45 +0,0 @@ -Index: LVM2.2.02.84/libdm/datastruct/hash.c -=================================================================== ---- LVM2.2.02.84.orig/libdm/datastruct/hash.c 2010-10-01 05:06:52.000000000 +0800 -+++ LVM2.2.02.84/libdm/datastruct/hash.c 2011-02-15 14:45:59.000000000 +0800 -@@ -19,7 +19,7 @@ - struct dm_hash_node *next; - void *data; - unsigned keylen; -- char key[0]; -+ unsigned char key[0]; - }; - - struct dm_hash_table { -@@ -136,7 +136,7 @@ - static struct dm_hash_node **_find(struct dm_hash_table *t, const char *key, - uint32_t len) - { -- unsigned h = _hash(key, len) & (t->num_slots - 1); -+ unsigned h = _hash((unsigned char*)key, len) & (t->num_slots - 1); - struct dm_hash_node **c; - - for (c = &t->slots[h]; *c; c = &((*c)->next)) { -@@ -235,7 +235,7 @@ - char *dm_hash_get_key(struct dm_hash_table *t __attribute__((unused)), - struct dm_hash_node *n) - { -- return n->key; -+ return (char*)n->key; - } - - void *dm_hash_get_data(struct dm_hash_table *t __attribute__((unused)), -Index: LVM2.2.02.84/libdm/ioctl/libdm-iface.c -=================================================================== ---- LVM2.2.02.84.orig/libdm/ioctl/libdm-iface.c 2011-02-05 05:26:33.000000000 +0800 -+++ LVM2.2.02.84/libdm/ioctl/libdm-iface.c 2011-02-15 14:45:59.000000000 +0800 -@@ -1983,7 +1983,8 @@ - dmt->skip_lockfs ? "S " : "", - dmt->secure_data ? "W " : "", - dmt->query_inactive_table ? "I " : "", -- dmt->sector, _sanitise_message(dmt->message), -+ (unsigned long long int)dmt->sector, -+ _sanitise_message(dmt->message), - dmi->data_size); - #ifdef DM_IOCTLS - if (ioctl(_control_fd, command, dmi) < 0) { diff --git a/device-mapper-type_punning.diff b/device-mapper-type_punning.diff index 691e4b0..bf72591 100644 --- a/device-mapper-type_punning.diff +++ b/device-mapper-type_punning.diff @@ -1,8 +1,10 @@ -Index: lib/device/device.c -=================================================================== ---- lib/device/device.c.orig 2009-08-02 01:14:52.000000000 +0800 -+++ lib/device/device.c 2010-02-04 14:02:42.000000000 +0800 -@@ -38,7 +38,7 @@ +--- + lib/device/device.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- LVM2.2.02.98.orig/lib/device/device.c ++++ LVM2.2.02.98/lib/device/device.c +@@ -39,7 +39,7 @@ struct partition { uint8_t end_cyl; uint32_t start_sect; uint32_t nr_sects; diff --git a/device-mapper.changes b/device-mapper.changes deleted file mode 100644 index 8a8a63b..0000000 --- a/device-mapper.changes +++ /dev/null @@ -1,629 +0,0 @@ -------------------------------------------------------------------- -Thu Sep 27 01:08:44 UTC 2012 - nfbrown@suse.com - -- mkinitrd-devmapper-*: tidy up dm_modules handling. - It is confusing that 'save_var' isn't called on it, - so call it. - As these modules need to be in initrd, but not - forcibly loaded, they could be listed as - 'udevmodules'. - Also filter out 'snapshot-origin' - a table without - a module. (bnc#779965) - -------------------------------------------------------------------- -Thu Jul 26 17:15:54 UTC 2012 - fcrozat@suse.com - -- Add blkid-builtin.patch: use built-in blkid from udev - -------------------------------------------------------------------- -Sun Sep 18 17:17:12 UTC 2011 - jengelh@medozas.de - -- Remove redundant tags/sections from specfile - (cf. packaging guidelines) -- Use %_smp_mflags for parallel build - -------------------------------------------------------------------- -Fri May 27 09:07:22 UTC 2011 - lnussel@suse.de - -- don't enable boot.device-mapper by default and don't load dm-mod - unconditionally in initrd. udev creates /dev/mapper/control so - dm-mod is automatically loaded when needed. - -------------------------------------------------------------------- -Tue Feb 15 08:57:07 UTC 2011 - xwhu@novell.com - -- Update to device mapper 1.2.63 - - Add configure --with-device-nodes-on=create for previous - behaviour. - - Move creation of device nodes from 'create' to 'resume'. - - Add dmeventd -R to restart dmeventd without losing monitoring - state - -------------------------------------------------------------------- -Fri Jan 14 10:08:08 UTC 2011 - lnussel@suse.de - -- the lsmod|grep in boot.device-mapper is superfluous, modprobe does - that internally anyways - -------------------------------------------------------------------- -Wed Dec 15 16:30:55 CST 2010 - cmeng@novell.com - -- sleep and try to wait opne_count to be 0 while lvremove. - (Bug #642296) - -------------------------------------------------------------------- -Sun Oct 31 12:37:02 UTC 2010 - jengelh@medozas.de - -- Use %_smp_mflags - -------------------------------------------------------------------- -Tue Oct 12 17:44:09 UTC 2010 - cristian.rodriguez@opensuse.org - -- mkinitrd-devmapper-boot.sh: do not complain if /dev/mapper - directory already exists and contains the control device. - -------------------------------------------------------------------- -Thu Sep 30 07:32:27 UTC 2010 - stefan.fent@novell.com - -- add device-mapper-devel to baselibs.conf to be able to link lilo - against libdevmapper (bnc #642400) - -------------------------------------------------------------------- -Fri Jul 16 10:11:59 UTC 2010 - xwhu@novell.com - -- bnc#556177, undefined symbol error while loading dmevent so. - -------------------------------------------------------------------- -Mon Jul 5 09:43:41 UTC 2010 - xwhu@novell.com - -- bnc#619566, fix error in "dmsetup export" patch, - -------------------------------------------------------------------- -Wed Jun 23 05:53:43 UTC 2010 - xwhu@novell.com - -- Update to LVM.1.02.49 - - Support autoloading of dm-mod module for kernels from 2.6.35 - - Use -d to control level of messages sent to syslog by dmeventd - - Do not print encryption key in message debug output - - Add support for new IMPORT{db} udev rule - - Add DM_UDEV_PRIMARY_SOURCE_FLAG udev flag to recognize proper - DM events - - Also include udev libs in libdevmapper.pc when udev_sync is - enabled - - Add support for ioctl's DM_UEVENT_GENERATED_FLAG -- Use the upcoming udev rules update of dm, to cooperate with - artificial uevent (bnc#598193) - -------------------------------------------------------------------- -Tue Jun 1 13:08:00 UTC 2010 - xwhu@novell.com - -- Link device-mapper to libudev - -------------------------------------------------------------------- -Fri May 21 03:40:34 UTC 2010 - xwhu@novell.com - -- Fix mkinitrd-devmapper to use udev rules for device mapper - -------------------------------------------------------------------- -Mon Apr 26 16:51:40 CEST 2010 - ro@suse.de - -- fix pkgconfig file for device mapper - -------------------------------------------------------------------- -Sat Apr 3 03:07:44 UTC 2010 - xwhu@novell.com - -- Upgrade to device-mapper 1.02. - - Add libdevmapper functions to support synchronisation with udev - - Check udev is running when processing cookies and retain state - internally. - - Add support for the "snapshot-merge" kernel target - -------------------------------------------------------------------- -Sun Dec 20 17:12:29 UTC 2009 - coolo@novell.com - -- use -j1 - parallel build breaks with symlinks_generated - -------------------------------------------------------------------- -Mon Dec 7 15:47:57 CET 2009 - meissner@suse.de - -- added type punning patch from pth@suse.de - -------------------------------------------------------------------- -Sun Nov 15 10:40:44 CET 2009 - meissner@suse.de - -- refreshed patches to avoid fuzz - -------------------------------------------------------------------- -Wed Sep 23 06:39:29 UTC 2009 - xwhu@novell.com - -- Add -devmapper- infix to mkinitrd scripts - -------------------------------------------------------------------- -Thu May 21 16:46:43 CST 2009 - xwhu@suse.de - -- specify usrlibdir for configuration - -------------------------------------------------------------------- -Mon May 11 15:36:05 CST 2009 - xwhu@suse.de - -- Enable pkgconfig for GNOME 2.28 - -------------------------------------------------------------------- -Mon Apr 27 18:37:32 CST 2009 - xwhu@suse.de - -- Upgrade to 1.02.31 - . Add "all" field to reports expanding to all fields of report type. - . Enforce device name length and character limitations in libdm. - . Replace _dm_snprintf with EMIT_PARAMS macro for creating target lines. - . Only resume devices in dm_tree_preload_children if size changes. - . Extend deptree buffers so the largest possible device numbers fit. - . Generate versioned libdevmapper-event.so. - . Underline longer report help text headings. - -------------------------------------------------------------------- -Tue Apr 21 10:11:35 CEST 2009 - xwhu@suse.de - -- bnc#479104, export additional information - -------------------------------------------------------------------- -Tue Feb 3 08:42:58 CET 2009 - hare@suse.de - -- No whitespace for DM_STATE export variable (bnc#440959) -- Remove obsolete reference to boot.scsidev from init script - -------------------------------------------------------------------- -Wed Dec 10 12:34:56 CET 2008 - olh@suse.de - -- use Obsoletes: -XXbit only for ppc64 to help solver during distupgrade - (bnc#437293) - -------------------------------------------------------------------- -Wed Nov 5 16:57:47 CET 2008 - werner@suse.de - -- As boot.crypto depends on boot.device-mapper, the later one has - even on shutdown to depend on boot.udev to make sure that events - will be processed (bnc#413059) - -------------------------------------------------------------------- -Thu Oct 30 12:34:56 CET 2008 - olh@suse.de - -- obsolete old -XXbit packages (bnc#437293) - -------------------------------------------------------------------- -Sat Sep 13 07:03:44 CEST 2008 - xwhu@suse.de - -- Fix typo for correct compiling -- Timeout if udevd's not running (bnc#425436) - -------------------------------------------------------------------- -Wed Sep 10 11:56:17 CEST 2008 - xwhu@suse.de - -- update to 1.02.27 - Align struct memblock in dbg_malloc for sparc. - Add --unquoted and --rows to dmsetup. - Avoid compiler warning about cast in dmsetup.c's OFFSET_OF macro. - Fix inverted no_flush debug message. - Remove --enable-jobs from configure. (Set at runtime instead.) - Bring configure.in and list.h into line with the lvm2 versions. - -------------------------------------------------------------------- -Wed Sep 3 11:09:34 CEST 2008 - hare@suse.de - -- Call mkinitrd_setup during %post and %postun (bnc#413709) - -------------------------------------------------------------------- -Mon Aug 25 12:03:57 CEST 2008 - prusnak@suse.cz - -- enabled SELinux support [Fate#303662] - -------------------------------------------------------------------- -Fri Aug 22 13:00:15 CEST 2008 - xwhu@suse.de - -- Remove the -p option for fillup_and_insserv - -------------------------------------------------------------------- -Wed Aug 13 06:26:49 CEST 2008 - xwhu@suse.de - -- Add Should-Stop to boot.device-mapper - -------------------------------------------------------------------- -Wed Jul 23 15:35:05 CEST 2008 - hare@suse.de - -- Include mkinitrd scriptlets. - -------------------------------------------------------------------- -Wed Jul 16 19:38:07 CEST 2008 - xwhu@suse.de - -- repack device-mapper.1.02.26.tar.bz2 into bzip2. -- change the owner of device to root:disk, with permission - 0640 (bnc#407952) - -------------------------------------------------------------------- -Tue Jun 24 05:43:08 CEST 2008 - xwhu@suse.de - -- update to new version 1.02.26 - Initialise params buffer to empty string in _emit_segment. - Skip add_dev_node when ioctls disabled. - Make dm_hash_iter safe against deletion. - Accept a NULL pointer to dm_free silently. - Add tables_loaded, readonly and suspended columns to reports. - Add --nameprefixes to dmsetup. - Add field name prefix option to reporting functions. - Calculate string size within dm_pool_grow_object. - - Remove redundant if-before-free tests. - Use log_warn for reporting field help text instead of log_print. - Change cluster mirror log type name (s/clustered_/clustered-/) - -------------------------------------------------------------------- -Fri May 30 13:54:02 CEST 2008 - xwhu@suse.de - -- Hold on mknod until udev finish it's job. - -------------------------------------------------------------------- -Thu Apr 10 12:54:45 CEST 2008 - ro@suse.de - -- added baselibs.conf file to build xxbit packages - for multilib support - -------------------------------------------------------------------- -Wed Feb 27 13:00:25 CET 2008 - dmueller@suse.de - -- fix static library installation again - -------------------------------------------------------------------- -Tue Feb 26 21:55:47 CET 2008 - dmueller@suse.de - -- fix "binary contains trace of $RPM_BUILD_ROOT" failure - -------------------------------------------------------------------- -Thu Feb 7 08:59:16 CET 2008 - hare@suse.de - -- Enable dmeventd (FATE#303381) - -------------------------------------------------------------------- -Thu Jan 31 11:54:11 CET 2008 - fehr@suse.de - -- update to new version 1.02.24 - Fix deptree to pass new name to _resume_node after a rename. - Suppress other node operations if node is deleted. - Report error when empty device name passed to readahead functions. - -------------------------------------------------------------------- -Mon Dec 10 11:25:40 CET 2007 - fehr@suse.de - -- update to new version 1.02.23 - Add readahead support to libdevmapper and dmsetup. - Fix double free in a libdevmapper-event error path. - Allow a DM_DEV_DIR environment variable to override /dev. - -------------------------------------------------------------------- -Thu Nov 22 14:07:15 CET 2007 - fehr@suse.de - -- update to new version 1.02.22 - Fix inconsistent licence notices: executables are GPLv2; libraries LGPLv2.1. - Fix dmsetup -o devno string termination. - Fix default dmsetup report buffering and add --unbuffered. - Add tree-based and dependency fields to dmsetup reports. - -------------------------------------------------------------------- -Mon May 7 11:46:29 CEST 2007 - kay.sievers@suse.de - -- update to new version 1.02.19 - Avoid trailing separator in reports when there are hidden sort fields. - Fix segfault in 'dmsetup status' without --showkeys against crypt target. - Migrate dmsetup column-based output over to new libdevmapper report framework. - Add descriptions to reporting field definitions. - Add basic reporting functions to libdevmapper. -- remove dmsetup option patch (upstream provides it) -- add dmsetup export command - -------------------------------------------------------------------- -Sun Feb 11 11:58:37 CET 2007 - ro@suse.de - -- fix build as non-root - -------------------------------------------------------------------- -Tue Jan 16 14:25:01 CET 2007 - fehr@suse.de - -- remove superfluouus /lib/libdevmapper.so (#235359) -- add call to ldconfig (#235359) - -------------------------------------------------------------------- -Wed Dec 6 09:58:48 CET 2006 - fehr@suse.de - -- update to new version 1.02.13 - Update dmsetup man page (setgeometry & message). - Fix dmsetup free after getline with debug. - Suppress encryption key in 'dmsetup table' output unless --showkeys supplied. - -------------------------------------------------------------------- -Mon Oct 16 13:01:52 CEST 2006 - fehr@suse.de - -- update to new version 1.02.12 - Avoid deptree attempting to suspend a device that's already suspended. - Add suspend noflush support. - Add basic dmsetup loop support. - Switch dmsetup to use dm_malloc and dm_free. - -------------------------------------------------------------------- -Wed Sep 20 13:12:05 CEST 2006 - fehr@suse.de - -- update to new version 1.02.10 - Add dm_snprintf(), dm_split_words() and dm_split_lvm_name() to libdevmapper. - Reorder mm bounds_check code to reduce window for a dmeventd race. - -------------------------------------------------------------------- -Thu Sep 14 13:40:12 CEST 2006 - mkoenig@suse.de - -- fixed permissions for static lib -- removed static lib version extension - -------------------------------------------------------------------- -Tue Sep 12 16:57:24 CEST 2006 - hvogel@suse.de - -- split device-mapper-devel subpackage -- install static libs (needed to link cryptsetup from - util-linux-crypto static) - -------------------------------------------------------------------- -Wed Aug 30 14:38:57 CEST 2006 - hare@suse.de - -- Fix gcc warnings -- Fix field display for 'dmsetup info'. - -------------------------------------------------------------------- -Wed Aug 30 09:10:36 CEST 2006 - hare@suse.de - -- Add 'major', 'minor', and 'uuid' as valid fields for - 'dmsetup info -o XXX'. - -------------------------------------------------------------------- -Wed Aug 16 13:15:28 CEST 2006 - fehr@suse.de - -- update to new version 1.02.09 - Add --table argument to dmsetup for a one-line table. - Abort if errors are found during cmdline option processing. - Add lockfs indicator to debug output. - -------------------------------------------------------------------- -Wed Jul 26 16:28:37 CEST 2006 - fehr@suse.de - -- update to new version 1.02.08 - Update dmsetup man page. - Add --force to dmsetup remove* to load error target. - dmsetup remove_all also performs mknodes. - Don't suppress identical table reloads if permission changes. - Fix corelog segment line. - -------------------------------------------------------------------- -Mon May 22 17:16:40 CEST 2006 - fehr@suse.de - -- update to new version 1.02.07 - Add DM_CORELOG flag to dm_tree_node_add_mirror_target(). - Avoid a dmeventd compiler warning. - -- update to new version 1.02.06 - Move DEFS into configure.h. - Fix leaks in error paths found by coverity. - Remove dmsetup line buffer limitation. - -------------------------------------------------------------------- -Thu Apr 20 12:25:08 CEST 2006 - fehr@suse.de - -- update to new version 1.02.05 - Separate install_include target in makefiles. - Separate out DEFS from CFLAGS. - Support pkg-config. - Check for libsepol. - -------------------------------------------------------------------- -Wed Apr 19 09:41:49 CEST 2006 - fehr@suse.de - -- update to new version 1.02.04 - Bring dmsetup man page up-to-date. - Use name-based device refs if kernel doesn't support device number refs. - Fix memory leak (struct dm_ioctl) when struct dm_task is reused. - If _create_and_load_v4 fails part way through, revert the creation. - dmeventd thread/fifo fixes. - Add file & line to dm_strdup_aux(). - Add setgeometry. - -------------------------------------------------------------------- -Tue Mar 14 11:26:03 CET 2006 - fehr@suse.de - -- update to new version 1.02.03 - Add exported functions to set uid, gid and mode. - Rename _log to dm_log and export. - Add dm_tree_skip_lockfs. - Fix dm_strdup debug definition. - Fix hash function to avoid using a negative array offset. - Don't inline _find in hash.c and tidy signed/unsigned etc. - Fix libdevmapper.h #endif. - Fix dmsetup version driver version. - Add sync, nosync and block_on_error mirror log parameters. - Add hweight32. - Fix dmeventd build. - -------------------------------------------------------------------- -Thu Mar 2 08:29:42 CET 2006 - hare@suse.de - -- Do not call devmap_mknod.sh (#150818) - -------------------------------------------------------------------- -Wed Jan 25 21:35:26 CET 2006 - mls@suse.de - -- converted neededforbuild to BuildRequires - --------------------------------------------------------------------- -Tue Jan 24 15:28:30 CET 2006 - fehr@suse.de - -- fix exit code of "dmsetup version" (#144794) - --------------------------------------------------------------------- -Mon Jan 23 11:50:44 CET 2006 - fehr@suse.de - -- add boot.udev to Required-Start section of init script (#144586) - --------------------------------------------------------------------- -Tue Dec 6 16:10:55 CET 2005 - fehr@suse.de - -- update to new version 1.02.02 - --------------------------------------------------------------------- -Tue Sep 27 09:32:02 CEST 2005 - fehr@suse.de - -- update to new version 1.01.05 - --------------------------------------------------------------------- -Wed Sep 21 14:27:57 CEST 2005 - fehr@suse.de - -- increase ioctl buffer size from 16k to 256k to allow larger number - of dm device visible by "dmsetup ls" and "dmsetup table" - -------------------------------------------------------------------- -Wed Aug 3 12:00:40 CEST 2005 - fehr@suse.de - -- update to new version 1.01.04 - -------------------------------------------------------------------- -Thu Jun 30 11:25:59 CEST 2005 - meissner@suse.de - -- use RPM_OPT_FLAGS. - -------------------------------------------------------------------- -Tue Jun 14 10:58:19 CEST 2005 - fehr@suse.de - -- update to new version 1.01.03 - -------------------------------------------------------------------- -Wed May 18 15:02:07 CEST 2005 - fehr@suse.de - -- update to new version 1.01.02 - -------------------------------------------------------------------- -Mon Apr 11 13:08:38 CEST 2005 - fehr@suse.de - -- use -py instead of -pY as option for fillup_and_insserv (#76689) -- update to new version 1.01.01 - -------------------------------------------------------------------- -Tue Jan 18 11:07:41 CET 2005 - fehr@suse.de - -- update to new version 1.01.00 - -------------------------------------------------------------------- -Tue Jan 11 17:39:14 CET 2005 - fehr@suse.de - -- update to new version 1.00.21 - -------------------------------------------------------------------- -Thu Aug 26 11:11:33 CEST 2004 - fehr@suse.de - -- /dev/mapper directory is now part of devs.rpm (#44258) - -------------------------------------------------------------------- -Wed Jul 14 15:25:00 CEST 2004 - fehr@suse.de - -- update to new version 1.00.19 - -------------------------------------------------------------------- -Thu May 27 16:24:22 CEST 2004 - fehr@suse.de - -- do not unload dm modules on shutdown, this hangs on some machines - -------------------------------------------------------------------- -Sat Apr 10 17:09:28 CEST 2004 - aj@suse.de - -- devicemapper does not need 2.6 kernelsources. - -------------------------------------------------------------------- -Thu Apr 1 09:34:25 CEST 2004 - fehr@suse.de - -- update to new version 1.00.09 - -------------------------------------------------------------------- -Tue Mar 16 16:53:11 CET 2004 - fehr@suse.de - -- fix typo in start script (#36168) - -------------------------------------------------------------------- -Mon Mar 15 14:39:12 CET 2004 - fehr@suse.de - -- do not depend on existence of /dev/mapper dir (#35825) - -------------------------------------------------------------------- -Tue Mar 2 01:57:20 CET 2004 - ro@suse.de - -- remove root-fsck stuff in bootscript -- instead depend on boot.rootfsck - -------------------------------------------------------------------- -Fri Dec 5 13:19:50 CET 2003 - fehr@suse.de - -- update to new version 1.00.07 - -------------------------------------------------------------------- -Mon Nov 17 17:27:07 CET 2003 - odabrunz@suse.de - -- fix spec file to make it compile with both new and old glibc - (__kernel_dev_t) - -------------------------------------------------------------------- -Thu Oct 2 11:55:09 CEST 2003 - fehr@suse.de - -- add fix to make it compile with new glibc (use __kernel_old_dev_t) - -------------------------------------------------------------------- -Thu Sep 18 13:05:20 CEST 2003 - fehr@suse.de - -- fix boot.devicemapper to cope with LABEL= and UUID= in /etc/fstab - also check reiser filesystem (#31060) - -------------------------------------------------------------------- -Wed Sep 17 11:57:03 CEST 2003 - fehr@suse.de - -- add comment when remounting root fs read-only (#31060) - -------------------------------------------------------------------- -Tue Sep 16 13:10:09 CEST 2003 - kukuk@suse.de - -- Add missing PreRequires [Bug #31006] - -------------------------------------------------------------------- -Tue Sep 2 11:02:52 CEST 2003 - fehr@suse.de - -- update to version 1.00.05 - -------------------------------------------------------------------- -Mon Aug 25 10:24:48 CEST 2003 - fehr@suse.de - -- update to version 1.00.04 - -------------------------------------------------------------------- -Thu Aug 21 12:21:50 CEST 2003 - fehr@suse.de - -- update to version 1.00.03 - -------------------------------------------------------------------- -Mon Aug 18 17:34:00 CEST 2003 - garloff@suse.de - -- (#29083) Add # X-UnitedLinux-Should-Start: boot.scsidev - -------------------------------------------------------------------- -Fri Jul 25 09:29:48 CEST 2003 - fehr@suse.de - -- update to version 1.00.02 - -------------------------------------------------------------------- -Tue Jul 1 15:55:12 CEST 2003 - fehr@suse.de - -- add boot script for automated startup in system -- fix typos in boot script - -------------------------------------------------------------------- -Mon Jun 30 17:32:06 CEST 2003 - fehr@suse.de - -- created initial version of a SuSE package - -------------------------------------------------------------------- diff --git a/device-mapper.spec b/device-mapper.spec deleted file mode 100644 index 6aae4b1..0000000 --- a/device-mapper.spec +++ /dev/null @@ -1,147 +0,0 @@ -# -# spec file for package device-mapper -# -# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany. -# -# All modifications and additions to the file contributed by third parties -# remain the property of their copyright owners, unless otherwise agreed -# upon. The license for this file, and modifications and additions to the -# file, is the same license as for the pristine package itself (unless the -# license for the pristine package is not an Open Source License, in which -# case the license is the MIT License). An "Open Source License" is a -# license that conforms to the Open Source Definition (Version 1.9) -# published by the Open Source Initiative. - -# Please submit bugfixes or comments via http://bugs.opensuse.org/ -# - - -Name: device-mapper -# bug437293 -%ifarch ppc64 -Obsoletes: device-mapper-64bit -%endif -# -Version: 1.02.63 -Release: 0 -Summary: Device Mapper Tools -License: GPL-2.0+ ; LGPL-2.1+ -Group: System/Base -Source: LVM2.2.02.84.tgz -Source1: boot.device-mapper -Source2: mkinitrd-devmapper-setup.sh -Source3: mkinitrd-devmapper-boot.sh -Source4: baselibs.conf - -#Patches for device mapper -Patch60: k_dev_t.dif -Patch61: device-mapper-dmsetup-export.patch -Patch62: device-mapper-gcc-warning.diff -Patch65: device-mapper-dmsetup-deps-export.patch -Patch66: device-mapper-type_punning.diff -Patch67: udev-rules_update.diff -#Patch68: device-mapper-pkgconfig.patch -Patch70: sleep-try-open-count.diff -Patch71: blkid-builtin.patch -BuildRoot: %{_tmppath}/%{name}-%{version}-build -BuildRequires: libselinux-devel -BuildRequires: libudev-devel -PreReq: %insserv_prereq %fillup_prereq - -%description -Programs, libraries, and man pages for configuring and using the device -mapper. - -%package devel -Summary: Development package for the device mapper -Group: System/Base -Requires: %name = %version - -%description devel -Files needed for software development using the device mapper - -%prep -%setup -n LVM2.2.02.84 -%patch60 -p1 -%patch61 -p1 -%patch62 -p1 -#%patch63 -p1 -%patch65 -p1 -%patch66 -p0 -%patch67 -p1 -#%patch68 -p0 -%patch70 -p1 -#%patch80 -p0 -%patch71 -p1 - -%build -CFLAGS="$RPM_OPT_FLAGS" \ -%configure --bindir=/bin --libdir=/%_lib --with-usrlibdir=%_libdir \ - --sbindir=/sbin --enable-dmeventd \ - --with-udevdir=/lib/udev/rules.d \ - --enable-selinux --enable-cmdlib \ - --with-dmeventd-path=/sbin/dmeventd \ - --with-device-uid=0 --with-device-gid=6 --with-device-mode=0640 \ - --enable-udev_sync --enable-udev_rules --enable-compat \ - --enable-pkgconfig --enable-realtime -export SUSE_ASNEEDED=0 -make -j1 # symlinks are generated in parallel! %{?_smp_mflags} - -%install -#%makeinstall -make install_device-mapper DESTDIR=$RPM_BUILD_ROOT -#make libdir=$RPM_BUILD_ROOT/%_libdir install_static_lib -mkdir -p $RPM_BUILD_ROOT/%_libdir -#ln -s /%_lib/libdevmapper.so.1.02 $RPM_BUILD_ROOT/%_libdir/libdevmapper.so -#ln -s /%_lib/libdevmapper-event.so.1.02 $RPM_BUILD_ROOT/%_libdir/libdevmapper-event.so -#rm $RPM_BUILD_ROOT/%_lib/libdevmapper.so -#rm $RPM_BUILD_ROOT/%_lib/libdevmapper-event.so -#install -m 744 scripts/devmap_mknod.sh $RPM_BUILD_ROOT/sbin/ -mkdir -p $RPM_BUILD_ROOT/etc/init.d -install -m 744 %{SOURCE1} $RPM_BUILD_ROOT/etc/init.d -install -d $RPM_BUILD_ROOT/lib/mkinitrd/scripts -install -m 755 %{SOURCE2} $RPM_BUILD_ROOT/lib/mkinitrd/scripts/setup-dm.sh -install -m 755 %{SOURCE3} $RPM_BUILD_ROOT/lib/mkinitrd/scripts/boot-dm.sh - -%post -%{run_ldconfig} -[ -x /sbin/mkinitrd_setup ] && mkinitrd_setup -%{insserv_cleanup} - -%postun -%{run_ldconfig} -[ -x /sbin/mkinitrd_setup ] && mkinitrd_setup -%{insserv_cleanup} - -%files -%defattr(-,root,root) -%doc INSTALL COPYING COPYING.LIB README VERSION_DM WHATS_NEW_DM -%config /etc/init.d/boot.device-mapper -/%_lib/libdevmapper.so.1.02 -/%_lib/libdevmapper-event.so.1.02 -%dir /lib/udev/rules.d -%dir /lib/udev -/lib/udev/rules.d/10-dm.rules -#/lib/udev/rules.d/12-dm-permissions.rules -/lib/udev/rules.d/13-dm-disk.rules -/lib/udev/rules.d/95-dm-notify.rules -/sbin/dmsetup -/sbin/dmeventd -#/sbin/devmap_mknod.sh -%{_mandir}/man8/dmsetup.8.gz -%{_mandir}/man8/dmeventd.8.gz -%dir /lib/mkinitrd -%dir /lib/mkinitrd/scripts -/lib/mkinitrd/scripts/setup-dm.sh -/lib/mkinitrd/scripts/boot-dm.sh - -%files devel -%defattr(-,root,root) -/%_libdir/libdevmapper.so -/%_libdir/libdevmapper-event.so -/%_libdir/pkgconfig/*.pc -#%attr(644, root, root) %_libdir/libdevmapper.a -/usr/include/libdevmapper.h -/usr/include/libdevmapper-event.h - -%changelog diff --git a/dont_ignore_tmp_device_file.diff b/dont_ignore_tmp_device_file.diff index 062e3af..cdd3aa1 100644 --- a/dont_ignore_tmp_device_file.diff +++ b/dont_ignore_tmp_device_file.diff @@ -1,8 +1,10 @@ -Index: LVM2.2.02.58/lib/device/dev-cache.c -=================================================================== ---- LVM2.2.02.58.orig/lib/device/dev-cache.c 2009-07-16 04:02:46.000000000 +0800 -+++ LVM2.2.02.58/lib/device/dev-cache.c 2010-02-04 15:32:59.000000000 +0800 -@@ -358,7 +358,11 @@ +--- + lib/device/dev-cache.c | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +--- LVM2.2.02.98.orig/lib/device/dev-cache.c ++++ LVM2.2.02.98/lib/device/dev-cache.c +@@ -434,7 +434,11 @@ static int _insert_dir(const char *dir) dirent_count = scandir(dir, &dirent, NULL, alphasort); if (dirent_count > 0) { for (n = 0; n < dirent_count; n++) { diff --git a/handle_extended_devt.diff b/handle_extended_devt.diff index 59b1b65..b5a436b 100644 --- a/handle_extended_devt.diff +++ b/handle_extended_devt.diff @@ -1,14 +1,16 @@ -Index: LVM2.2.02.45/lib/filters/filter.c -=================================================================== ---- LVM2.2.02.45.orig/lib/filters/filter.c -+++ LVM2.2.02.45/lib/filters/filter.c -@@ -179,6 +179,10 @@ static int _scan_proc_dev(const char *pr +--- + lib/filters/filter.c | 4 ++++ + 1 file changed, 4 insertions(+) + +--- LVM2.2.02.98.orig/lib/filters/filter.c ++++ LVM2.2.02.98/lib/filters/filter.c +@@ -180,6 +180,10 @@ static int _scan_proc_dev(const char *pr /* All types unrecognised initially */ - memset(_max_partitions_by_major, 0, sizeof(int) * NUMBER_OF_MAJORS); + memset(_partitions, 0, sizeof(_partitions)); + /* Extended devt will use MAJOR 259 + Consider it an non-partitionable block device */ -+ _max_partitions_by_major[259] = 1; ++ _partitions[259].max_partitions = 1; + if (dm_snprintf(proc_devices, sizeof(proc_devices), "%s/devices", proc) < 0) { diff --git a/improve_probing.diff b/improve_probing.diff index 7336fb5..707ce51 100644 --- a/improve_probing.diff +++ b/improve_probing.diff @@ -1,7 +1,9 @@ -Index: lib/filters/filter.c -=================================================================== ---- lib/filters/filter.c.orig 2011-01-27 08:21:37.000000000 +0800 -+++ lib/filters/filter.c 2011-02-15 14:56:43.000000000 +0800 +--- + lib/filters/filter.c | 15 ++++++++++++++- + 1 file changed, 14 insertions(+), 1 deletion(-) + +--- LVM2.2.02.98.orig/lib/filters/filter.c ++++ LVM2.2.02.98/lib/filters/filter.c @@ -13,6 +13,12 @@ * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ @@ -15,16 +17,16 @@ Index: lib/filters/filter.c #include "lib.h" #include "dev-cache.h" #include "filter.h" -@@ -147,11 +153,18 @@ +@@ -111,11 +117,18 @@ static int _passes_lvm_type_device_filte } /* Check it's accessible */ -- if (!dev_open_flags(dev, O_RDONLY, 1, 1)) { +- if (!dev_open_readonly_quiet(dev)) { + if (!dev_open_flags(dev, O_RDONLY|O_NONBLOCK, 1, 1)) { log_debug("%s: Skipping: open failed", name); return 0; } - + + /* Skip cdrom device */ + #define CDROM_GET_CAPABILITY 0x5331 + if (ioctl(dev->fd, CDROM_GET_CAPABILITY) >= 0) { diff --git a/k_dev_t.dif b/k_dev_t.dif deleted file mode 100644 index 6a496b6..0000000 --- a/k_dev_t.dif +++ /dev/null @@ -1,22 +0,0 @@ -Index: LVM2.2.02.45/libdm/ioctl/libdm-compat.h -=================================================================== ---- LVM2.2.02.45.orig/libdm/ioctl/libdm-compat.h 2008-11-01 10:19:18.000000000 +0800 -+++ LVM2.2.02.45/libdm/ioctl/libdm-compat.h 2009-04-27 17:43:08.000000000 +0800 -@@ -40,7 +40,7 @@ - int32_t open_count; /* out */ - uint32_t flags; /* in/out */ - -- __kernel_dev_t dev; /* in/out */ -+ __kernel_old_dev_t dev; /* in/out */ - - char name[DM_NAME_LEN]; /* device name */ - char uuid[DM_UUID_LEN]; /* unique identifier for -@@ -60,7 +60,7 @@ - struct dm_target_deps_v1 { - uint32_t count; - -- __kernel_dev_t dev[0]; /* out */ -+ __kernel_old_dev_t dev[0]; /* out */ - }; - - enum { diff --git a/lvm-pv-create-link.diff b/lvm-pv-create-link.diff deleted file mode 100644 index a6c5b21..0000000 --- a/lvm-pv-create-link.diff +++ /dev/null @@ -1,261 +0,0 @@ -Index: LVM2.2.02.67/tools/pvremove.c -=================================================================== ---- LVM2.2.02.67.orig/tools/pvremove.c 2009-12-03 20:18:34.000000000 +0100 -+++ LVM2.2.02.67/tools/pvremove.c 2010-09-09 13:51:21.370385527 +0200 -@@ -18,6 +18,30 @@ - const char _really_wipe[] = - "Really WIPE LABELS from physical volume \"%s\" of volume group \"%s\" [y/n]? "; - -+static const char* pv_remove_symlink(struct cmd_context* cmd, const char* name) -+{ -+ struct physical_volume *pv; -+ char *pvuuid; -+ char pvuuid_link[70]; -+ -+ if (!(pv = pv_read(cmd, name, NULL, NULL, 0, 0))) { -+ return NULL; -+ } -+ -+ pvuuid = malloc(sizeof(char)*40); -+ if (pvuuid == NULL) { -+ return NULL; -+ } -+ -+ id_write_format(&pv->id, pvuuid, 40); -+ -+ snprintf(pvuuid_link, 70, "/dev/disk/by-id/lvm2-pvuuid-%s", pvuuid); -+ unlink(pvuuid_link); //we really don't care if it successed or not. -+ -+ free(pvuuid); -+ return pvuuid; -+} -+ - /* - * Decide whether it is "safe" to wipe the labels on this device. - * 0 indicates we may not. -@@ -125,6 +149,8 @@ static int pvremove_single(struct cmd_co - log_print("Labels on physical volume \"%s\" successfully wiped", - pv_name); - -+ pv_remove_symlink(cmd, pv_name); -+ - ret = ECMD_PROCESSED; - - error: -Index: LVM2.2.02.67/tools/pvchange.c -=================================================================== ---- LVM2.2.02.67.orig/tools/pvchange.c 2010-05-19 17:34:10.000000000 +0200 -+++ LVM2.2.02.67/tools/pvchange.c 2010-09-09 13:51:21.370385527 +0200 -@@ -15,6 +15,90 @@ - - #include "tools.h" - -+static const char* pv_follow_if_link (const char* path) -+{ -+ int r; -+ int len = 60; -+ char *fpath = NULL; -+ char *npath = NULL; -+ struct stat st; -+ -+ r = lstat(path, &st); -+ if (r == -1) return NULL; //shouldn't happen -+ -+ if (S_ISLNK(st.st_mode)) { -+ while (1) { -+ npath = realloc(fpath, sizeof(char)*len); -+ if (npath == NULL) { -+ if (fpath != NULL) free(fpath); -+ return NULL; -+ } -+ fpath = npath; -+ -+ memset(fpath, 0, sizeof(char)*len); -+ r = readlink(path, fpath, len); -+ if (r != -1 && fpath[len-1] == 0) break; -+ if (r == -1) { -+ free(fpath); -+ return NULL; -+ } else { -+ len = len * 2; -+ } -+ } -+ } -+ else { -+ fpath = strdup(path); -+ } -+ return fpath; -+} -+ -+static const char* pv_symlink_handle(struct cmd_context* cmd, const char* name, int create) -+{ -+ struct physical_volume *pv; -+ char *pvuuid; -+ char *pvuuid_link; -+ -+ pvuuid_link = malloc(70); -+ if (pvuuid_link == NULL) return NULL; -+ -+ -+ if (!(pv = pv_read(cmd, name, NULL, NULL, 0, 0))) { -+ free(pvuuid_link); -+ return NULL; -+ } -+ -+ pvuuid = malloc(sizeof(char)*40); -+ if (pvuuid == NULL) { -+ free(pvuuid_link); -+ return NULL; -+ } -+ -+ id_write_format(&pv->id, pvuuid, 40); -+ -+ snprintf(pvuuid_link, 70, "/dev/disk/by-id/lvm2-pvuuid-%s", pvuuid); -+ -+ //we really don't care if it successed or not. -+ if (create) { -+ const char* tname = NULL; -+ int r; -+ tname = pv_follow_if_link(name); -+ if (tname != NULL) { -+ r = symlink(tname, pvuuid_link); -+ free(tname); -+ } -+ else { -+ symlink(name, pvuuid_link); -+ } -+ } else { -+ //pvuuid_link is saved for future unlink -+ //unlink(pvuuid_link); -+ } -+ -+ free(pvuuid); -+ return pvuuid_link; -+} -+ -+ - /* FIXME Locking. PVs in VG. */ - - static int _pvchange_single(struct cmd_context *cmd, struct volume_group *vg, -Index: LVM2.2.02.67/lib/metadata/metadata.c -=================================================================== ---- LVM2.2.02.67.orig/lib/metadata/metadata.c 2010-05-24 17:32:20.000000000 +0200 -+++ LVM2.2.02.67/lib/metadata/metadata.c 2010-09-09 13:52:19.866385579 +0200 -@@ -1424,6 +1424,88 @@ void pvcreate_params_set_defaults(struct - pp->yes = 0; - } - -+static const char* pv_follow_if_link (const char* path) -+{ -+ int r; -+ int len = 60; -+ char *fpath = NULL; -+ char *npath = NULL; -+ struct stat st; -+ -+ r = lstat(path, &st); -+ if (r == -1) return NULL; //shouldn't happen -+ -+ if (S_ISLNK(st.st_mode)) { -+ while (1) { -+ npath = realloc(fpath, sizeof(char)*len); -+ if (npath == NULL) { -+ if (fpath != NULL) free(fpath); -+ return NULL; -+ } -+ fpath = npath; -+ -+ memset(fpath, 0, sizeof(char)*len); -+ r = readlink(path, fpath, len); -+ if (r != -1 && fpath[len-1] == 0) break; -+ if (r == -1) { -+ free(fpath); -+ return NULL; -+ } else { -+ len = len * 2; -+ } -+ } -+ } else { -+ fpath = strdup(path); -+ } -+ return fpath; -+} -+ -+ -+static const char* pv_symlink_handle(struct cmd_context* cmd, const char* name, int create) -+{ -+ struct physical_volume *pv; -+ char *pvuuid; -+ char *pvuuid_link; -+ -+ pvuuid_link = malloc(70); -+ if (pvuuid_link == NULL) return NULL; -+ -+ if (!(pv = pv_read(cmd, name, NULL, NULL, 0, 0))) { -+ free(pvuuid_link); -+ return NULL; -+ } -+ -+ pvuuid = malloc(sizeof(char)*40); -+ if (pvuuid == NULL) { -+ free(pvuuid_link); -+ return NULL; -+ } -+ -+ id_write_format(&pv->id, pvuuid, 40); -+ snprintf(pvuuid_link, 70, "/dev/disk/by-id/lvm2-pvuuid-%s", pvuuid); -+ -+ //we really don't care if it successed or not. -+ if (create) { -+ const char* tname = NULL; -+ int r; -+ tname = pv_follow_if_link(name); -+ if (tname != NULL) { -+ r = symlink(tname, pvuuid_link); -+ free(tname); -+ } else { -+ symlink(name, pvuuid_link); -+ } -+ } else { -+ //pvuuid_link is saved for future unlink -+ //unlink(pvuuid_link); -+ } -+ -+ free(pvuuid); -+ return pvuuid_link; -+} -+ -+ -+ - /* - * pvcreate_single() - initialize a device with PV label and metadata area - * -@@ -1444,6 +1526,7 @@ struct physical_volume * pvcreate_single - struct dm_list mdas; - struct pvcreate_params default_pp; - char buffer[64] __attribute((aligned(8))); -+ const char *oldsymlink; - - pvcreate_params_set_defaults(&default_pp); - if (!pp) -@@ -1509,11 +1592,20 @@ struct physical_volume * pvcreate_single - - log_very_verbose("Writing physical volume data to disk \"%s\"", - pv_name); -+ oldsymlink = pv_symlink_handle(cmd, pv_name, 0); -+ - if (!(pv_write(cmd, pv, &mdas, pp->labelsector))) { - log_error("Failed to write physical volume \"%s\"", pv_name); -+ if (oldsymlink) free(oldsymlink); - goto error; - } - -+ pv_symlink_handle(cmd, pv_name, 1); -+ if (oldsymlink) { -+ unlink(oldsymlink); -+ free(oldsymlink); -+ } -+ - log_print("Physical volume \"%s\" successfully created", pv_name); - - return pv; diff --git a/lvm2-clvm.changes b/lvm2-clvm.changes deleted file mode 100644 index 8ad9997..0000000 --- a/lvm2-clvm.changes +++ /dev/null @@ -1,101 +0,0 @@ -------------------------------------------------------------------- -Thu Sep 27 01:12:17 UTC 2012 - nfbrown@suse.com - -- lvm2-clvm.spec: make sure MODPROBE_CMD is set properly - when configure is run. Without it, modules are - not auto-loaded. Also fix problem with LDFLAGS (bnc#779965) - -------------------------------------------------------------------- -Sun Sep 18 17:17:12 UTC 2011 - jengelh@medozas.de - -- Remove redundant tags/sections from specfile - (cf. packaging guidelines) -- Use %_smp_mflags for parallel build - -------------------------------------------------------------------- -Tue Feb 22 07:32:46 UTC 2011 - xwhu@novell.com - -- Re-enable clvmd build - - Cleanup unused patches - - Build against corosync instead of openais - -------------------------------------------------------------------- -Sun Oct 31 12:37:02 UTC 2010 - jengelh@medozas.de - -- Use %_smp_mflags - -------------------------------------------------------------------- -Thu Sep 9 12:17:25 UTC 2010 - coolo@novell.com - -- massive rebase of the patches - -------------------------------------------------------------------- -Mon Apr 26 16:51:35 CEST 2010 - ro@suse.de - -- fix lvm2-clvm specfile so that patches apply - -------------------------------------------------------------------- -Sat Apr 3 03:17:12 UTC 2010 - xwhu@novell.com - -- Upgrade to LVM2 2.02.58 - - Rename liblvm.so to liblvm2app.so - - Introduce lvconvert --use_policies - - Add readonly locking type to replace implementation of - --ignorelockingfailure - - Add liblvm APIs to implement creation and deletion of VGs - - Add activation/udev_sync to lvm.conf - - Enable dmeventd monitoring section of config file by default - - Add --pvmetadatacopies for pvcreate, vgcreate, vgextend, - vgconvert. - -------------------------------------------------------------------- -Sun Nov 15 10:41:04 CET 2009 - meissner@suse.de - -- refreshed patches to avoid fuzz-0 - -------------------------------------------------------------------- -Mon Apr 27 18:37:32 CST 2009 - xwhu@suse.de - -- Upgrade to LVM2 2.02.45 - Avoid scanning empty metadata areas for VG names - Pass --test from lvresize to fsadm as --dry-run. - Remove duplicate cpg_initialize from clvmd startup. - Add option to /etc/sysconfig/cluster to select cluster type for clvmd. - Remove external dependency on the 'cut' command from fsadm. - Fix pvs segfault when pv mda attributes requested for not available PV. - Fix lvresize size conversion for fsadm when block size is not 1K. - Add pv_mda_size to pvs and vg_mda_size to vgs. - Add "--refresh" functionality to vgchange and vgmknodes. - Fix vgrename using UUID if there are VGs with identical names. - Fix segfault when invalid field given in reporting commands. - Merge device-mapper into the lvm2 tree. - Exit with non-zero status from vgdisplay if couldn't show any requested VG. - Fix snapshot monitoring library to not cancel monitoring invalid snapshot. - Fix conversion of md chunk size into sectors. - Fix misleading error message when there are no allocatable extents in VG. - Fix handling of PVs which reappeared with old metadata version. - Fix mirror DSO to call vgreduce with proper parameters. - Fix validation of --minor and --major in lvcreate to require -My always. - Fix release: clvmd build, vgreduce consolidate & tests, /dev/ioerror warning. - -------------------------------------------------------------------- -Tue Apr 1 01:10:00 CST 2009 - lmb@suse.de - -- clvmd: Ensure that the lockspace is released locally even we were the - lock master, avoiding an unclean shutdown (bnc#490415). - -------------------------------------------------------------------- -Tue Mar 31 19:16:18 CST 2009 - xwhu@suse.de - -- Call cpg_leave before shutting down clvmd - -------------------------------------------------------------------- -Wed Mar 25 23:14:29 CST 2009 - xwhu@suse.de - -- Do not filter out tmp device file(bnc#485572) - -------------------------------------------------------------------- -Wed Mar 25 22:50:50 CST 2009 - xwhu@suse.de - -- Newly splitted off from lvm2, as a independent package now - diff --git a/lvm2-clvm.spec b/lvm2-clvm.spec deleted file mode 100644 index f9f1a71..0000000 --- a/lvm2-clvm.spec +++ /dev/null @@ -1,116 +0,0 @@ -# -# spec file for package lvm2-clvm -# -# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany. -# -# All modifications and additions to the file contributed by third parties -# remain the property of their copyright owners, unless otherwise agreed -# upon. The license for this file, and modifications and additions to the -# file, is the same license as for the pristine package itself (unless the -# license for the pristine package is not an Open Source License, in which -# case the license is the MIT License). An "Open Source License" is a -# license that conforms to the Open Source Definition (Version 1.9) -# published by the Open Source Initiative. - -# Please submit bugfixes or comments via http://bugs.opensuse.org/ -# - - -Url: http://sources.redhat.com/cluster/clvm/ - -Name: lvm2-clvm -BuildRequires: device-mapper-devel -BuildRequires: libcorosync-devel -BuildRequires: libdlm-devel -BuildRequires: libopenais-devel -BuildRequires: libselinux-devel -BuildRequires: readline-devel -Version: 2.02.84 -Release: 0 -Requires: device-mapper >= 1.02.25 -Requires: lvm2 = %{version} -Requires: openais -Provides: clvm -PreReq: %fillup_prereq %insserv_prereq -Summary: Clustered LVM2 -License: GPL-2.0+ ; LGPL-2.1+ -Group: System/Base -Source: LVM2.%{version}.tgz -Source1: lvm.conf -Source2: boot.lvm -Source3: sysconfig.lvm -Source4: mkinitrd-lvm2-setup.sh -Source5: mkinitrd-lvm2-boot.sh -Source6: 64-lvm2.rules -Source7: collect_lvm -Source8: clvmd.ocf -Patch: improve_probing.diff -Patch2: no-inc-audit.diff -Patch3: no_buildroot_shared.diff -Patch4: sys_mount_instead_linux_fs.diff -Patch6: man_page_sectors.diff -Patch11: cmdline_large_minor.diff -Patch13: pipe_buff-definition.diff -Patch14: lvm-pv-create-link.diff -Patch19: dont_ignore_tmp_device_file.diff -Patch20: support-drbd-filter.diff -Patch22: handle_extended_devt.diff -BuildRoot: %{_tmppath}/%{name}-%{version}-build - -%description -A daemon for using LVM2 Logival Volumes in a clustered environment. - - - -%prep -%setup -n LVM2.%{version} -%patch -%patch2 -%patch3 -%patch4 -%patch6 -%patch11 -%patch13 -#%patch14 -p1 -%patch19 -p1 -%patch20 -p1 -%patch22 -p1 - -%build -export MODPROBE_CMD=/sbin/modprobe -export LDFLAGS="-L /usr/%_lib/openais" -%configure --prefix=/ \ - --enable-selinux \ - --enable-cmdlib \ - --libdir=/%_lib --with-usrlibdir=%_libdir --enable-dmeventd --enable-cmdlib \ - --with-clvmd=corosync --datarootdir=/usr/share -make %{?_smp_mflags} - -%install -pushd daemons/clvmd -make install DESTDIR=$RPM_BUILD_ROOT -popd -pushd man -make install DESTDIR=$RPM_BUILD_ROOT -popd -install -D -m 755 $RPM_BUILD_ROOT/sbin/clvmd $RPM_BUILD_ROOT/usr/sbin/clvmd -rm $RPM_BUILD_ROOT/sbin/clvmd -rm -rf $RPM_BUILD_ROOT/%{_mandir}/man5 -rm -f $RPM_BUILD_ROOT/%{_mandir}/man8/lv* -rm -f $RPM_BUILD_ROOT/%{_mandir}/man8/pv* -rm -f $RPM_BUILD_ROOT/%{_mandir}/man8/vg* -rm -f $RPM_BUILD_ROOT/%{_mandir}/man8/dmsetup* -rm -f $RPM_BUILD_ROOT/%{_mandir}/man8/fsadm* -rm -f $RPM_BUILD_ROOT/%{_mandir}/man8/dmeventd* -install -m755 -D %{S:8} $RPM_BUILD_ROOT/usr/lib/ocf/resource.d/lvm2/clvmd - -%files -%defattr(-,root,root) -/usr/sbin/clvmd -%dir /usr/lib/ocf -%dir /usr/lib/ocf/resource.d -%dir /usr/lib/ocf/resource.d/lvm2 -/usr/lib/ocf/resource.d/lvm2/clvmd -%{_mandir}/man8/clvmd.8.gz - -%changelog diff --git a/lvm2.changes b/lvm2.changes index a1f82ba..9b3464f 100644 --- a/lvm2.changes +++ b/lvm2.changes @@ -1,3 +1,24 @@ +------------------------------------------------------------------- +Wed Oct 17 23:01:54 UTC 2012 - nfbrown@suse.com + +- lvm2.spec: merge rules for device-mapper and + lvm2-clvm packages, so there is only one + spec file and all packages are built consistently. + +------------------------------------------------------------------- +Tue Oct 16 09:34:40 UTC 2012 - coolo@suse.com + +- build against the minimal udev to avoid cycles +- the sysvinit requires are no longer necessary + +------------------------------------------------------------------- +Tue Oct 16 04:19:59 UTC 2012 - nfbrown@suse.com + +- Upgrade to LVM2-2-02-98. Improvements include + improved interaction with udev and systemd, + improved dmraid support, and new command + "blkdeactivate". + ------------------------------------------------------------------- Thu Sep 27 01:11:17 UTC 2012 - nfbrown@suse.com diff --git a/lvm2.spec b/lvm2.spec index 6fc80c2..c3c53fd 100644 --- a/lvm2.spec +++ b/lvm2.spec @@ -19,19 +19,19 @@ Url: http://sources.redhat.com/cluster/clvm/ Name: lvm2 +BuildRequires: libcorosync-devel +BuildRequires: libdlm-devel +BuildRequires: libopenais-devel BuildRequires: libselinux-devel -BuildRequires: libudev-devel BuildRequires: readline-devel +BuildRequires: pkgconfig(udev) Requires: device-mapper >= 1.02.25 Provides: lvm PreReq: %fillup_prereq %insserv_prereq /sbin/mkinitrd -%if %suse_version > 1130 -PreReq: sysvinit(boot.device-mapper) -%endif -Version: 2.02.84 +Version: 2.02.98 Release: 0 -Summary: LVM2 Tools -License: GPL-2.0+ ; LGPL-2.1+ +Summary: Logical Volume Manager Tools +License: GPL-2.0+ and LGPL-2.1+ Group: System/Base Source: LVM2.%{version}.tgz Source1: lvm.conf @@ -42,23 +42,25 @@ Source5: mkinitrd-lvm2-boot.sh Source6: 64-lvm2.rules Source7: collect_lvm Source8: clvmd.ocf +Source11: boot.device-mapper +Source12: mkinitrd-devmapper-setup.sh +Source13: mkinitrd-devmapper-boot.sh +Source14: baselibs.conf + Patch: improve_probing.diff Patch2: no-inc-audit.diff Patch3: no_buildroot_shared.diff Patch4: sys_mount_instead_linux_fs.diff -#Patch5: pvscan_2TB_limit.diff Patch6: man_page_sectors.diff -Patch11: cmdline_large_minor.diff + Patch13: pipe_buff-definition.diff -Patch14: lvm-pv-create-link.diff Patch19: dont_ignore_tmp_device_file.diff +Patch20: support-drbd-filter.diff Patch22: handle_extended_devt.diff -#Patch23: lvm2cmd-link-to-devmapper-event.diff -#Patches for device mapper -Patch60: k_dev_t.dif Patch61: device-mapper-dmsetup-export.patch -Patch62: device-mapper-gcc-warning.diff Patch65: device-mapper-dmsetup-deps-export.patch +Patch66: device-mapper-type_punning.diff +Patch70: sleep-try-open-count.diff Patch81: udev-rules_update.diff BuildRoot: %{_tmppath}/%{name}-%{version}-build @@ -80,70 +82,70 @@ Volume Manager. %prep %setup -n LVM2.%{version} -%patch +%patch -p1 %patch2 %patch3 %patch4 -#%patch5 -%patch6 -%patch11 -%patch13 -#%patch14 -p1 +%patch6 -p1 +%patch13 -p1 %patch19 -p1 +%patch20 -p1 %patch22 -p1 -#%patch23 -p1 -# patch to device-mapper -%patch60 -p1 %patch61 -p1 -%patch62 -p1 -#%patch63 -p1 %patch65 -p1 -#%patch80 -p0 +%patch66 -p1 +%patch70 -p1 %patch81 -p1 %build export MODPROBE_CMD=/sbin/modprobe %configure --prefix=/ \ - --bindir=/bin --libdir=/%_lib --with-userlibdir=%_libdir \ + --bindir=/bin --libdir=/%_lib --with-usrlibdir=%_libdir \ --sbindir=/sbin --enable-dmeventd \ --with-udevdir=/lib/udev/rules.d \ --with-dmeventd_path=/sbin/dmeventd \ - --enable-udev_sync --enable-udev_rules --enable-compat \ + --with-device-uid=0 --with-device-gid=6 --with-device-mode=0640 \ + --enable-udev_sync --enable-udev_rules \ --enable-cmdlib --enable-dmeventd \ - --enable-realtime --enable-pkgconfig + --enable-realtime --enable-pkgconfig \ + --enable-selinux \ + --with-clvmd=corosync --datarootdir=/usr/share export SUSE_ASNEEDED=0 -make %{?_smp_mflags} +make -j1 # symlinks are generated in parallel! %{?_smp_mflags} %install -make install_lvm2 DESTDIR=$RPM_BUILD_ROOT +make install DESTDIR=$RPM_BUILD_ROOT install -d -m 755 $RPM_BUILD_ROOT/etc/lvm install -d -m 755 $RPM_BUILD_ROOT/etc/lvm/backup install -d -m 755 $RPM_BUILD_ROOT/etc/lvm/archive install -d -m 755 $RPM_BUILD_ROOT/etc/lvm/metadata -install -d -m 755 $RPM_BUILD_ROOT/var/lock/lvm install -m 644 %{SOURCE1} $RPM_BUILD_ROOT/etc/lvm mkdir -p $RPM_BUILD_ROOT/etc/init.d install -m 755 %{SOURCE2} $RPM_BUILD_ROOT/etc/init.d +install -m 744 %{SOURCE11} $RPM_BUILD_ROOT/etc/init.d install -d $RPM_BUILD_ROOT/lib/mkinitrd/scripts install -m 755 %{SOURCE4} $RPM_BUILD_ROOT/lib/mkinitrd/scripts/setup-lvm2.sh install -m 755 %{SOURCE5} $RPM_BUILD_ROOT/lib/mkinitrd/scripts/boot-lvm2.sh +install -m 755 %{SOURCE12} $RPM_BUILD_ROOT/lib/mkinitrd/scripts/setup-dm.sh +install -m 755 %{SOURCE13} $RPM_BUILD_ROOT/lib/mkinitrd/scripts/boot-dm.sh mkdir -p $RPM_BUILD_ROOT/var/adm/fillup-templates install -m 644 %{SOURCE3} $RPM_BUILD_ROOT/var/adm/fillup-templates -[ %_lib != lib ] && mv $RPM_BUILD_ROOT/lib/liblvm2cmd.so $RPM_BUILD_ROOT/%_lib/liblvm2cmd.so -[ %_lib != lib ] && mv $RPM_BUILD_ROOT/lib/libdevmapper-event-lvm2.so $RPM_BUILD_ROOT/%_lib/libdevmapper-event-lvm2.so +install -m755 -D %{S:8} $RPM_BUILD_ROOT/usr/lib/ocf/resource.d/lvm2/clvmd +rm -f $RPM_BUILD_ROOT/%_libdir/liblvm2cmd.so +ln -sf liblvm2cmd.so.2.02 $RPM_BUILD_ROOT/%_lib/liblvm2cmd.so +rm -f $RPM_BUILD_ROOT/%_libdir/libdevmapper-event-lvm2.so +ln -sf libdevmapper-event-lvm2.so.2.02 $RPM_BUILD_ROOT/%_lib/libdevmapper-event-lvm2.so pushd $RPM_BUILD_ROOT/%_lib ln -sf device-mapper/libdevmapper-event-lvm2mirror.so libdevmapper-event-lvm2mirror.so.2.02 ln -sf device-mapper/libdevmapper-event-lvm2snapshot.so libdevmapper-event-lvm2snapshot.so.2.02 +ln -sf device-mapper/libdevmapper-event-lvm2raid.so libdevmapper-event-lvm2raid.so.2.02 popd +install -d $RPM_BUILD_ROOT/usr/sbin +mv $RPM_BUILD_ROOT/sbin/clvmd $RPM_BUILD_ROOT/usr/sbin/clvmd mkdir -p $RPM_BUILD_ROOT/usr/share -mv $RPM_BUILD_ROOT/share/man $RPM_BUILD_ROOT/%{_mandir} -rmdir $RPM_BUILD_ROOT/share rm $RPM_BUILD_ROOT/usr/include/lvm2cmd.h -# install 64-lvm2.rules and collect_lvm -#install -m644 -D %{S:6} $RPM_BUILD_ROOT/lib/udev/rules.d/64-lvm2.rules +# install and collect_lvm install -m755 -D %{S:7} $RPM_BUILD_ROOT/lib/udev/collect_lvm -# remove all device mapper files -rm $RPM_BUILD_ROOT/%{_mandir}/man8/fsadm.* %post %{fillup_and_insserv -n lvm boot.lvm} @@ -174,12 +176,11 @@ fi %files %defattr(-,root,root) -%doc INSTALL README WHATS_NEW doc/* +%doc README WHATS_NEW doc/* %dir /etc/lvm %dir /etc/lvm/backup %dir /etc/lvm/archive %dir /etc/lvm/metadata -%dir /var/lock/lvm %config /etc/lvm/lvm.conf %config /etc/init.d/boot.lvm %dir /lib/mkinitrd @@ -192,6 +193,7 @@ fi /lib/mkinitrd/scripts/setup-lvm2.sh /lib/mkinitrd/scripts/boot-lvm2.sh /var/adm/fillup-templates/sysconfig.lvm +/sbin/blkdeactivate /sbin/fsadm /sbin/lvchange /sbin/lvconvert @@ -242,15 +244,20 @@ fi %dir /%_lib/device-mapper /%_lib/device-mapper/libdevmapper-event-lvm2mirror.so /%_lib/device-mapper/libdevmapper-event-lvm2snapshot.so +/%_lib/device-mapper/libdevmapper-event-lvm2raid.so /%_lib/libdevmapper-event-lvm2mirror.so /%_lib/libdevmapper-event-lvm2snapshot.so +/%_lib/libdevmapper-event-lvm2raid.so /%_lib/liblvm2cmd.so /%_lib/libdevmapper-event-lvm2mirror.so.2.02 /%_lib/libdevmapper-event-lvm2snapshot.so.2.02 +/%_lib/libdevmapper-event-lvm2raid.so.2.02 /%_lib/liblvm2cmd.so.2.02 /%_lib/libdevmapper-event-lvm2.so /%_lib/libdevmapper-event-lvm2.so.2.02 %{_mandir}/man5/lvm.conf.5.gz +%{_mandir}/man8/blkdeactivate.8.gz +%{_mandir}/man8/fsadm.8.gz %{_mandir}/man8/lvchange.8.gz %{_mandir}/man8/lvcreate.8.gz %{_mandir}/man8/lvconvert.8.gz @@ -298,4 +305,94 @@ fi %{_mandir}/man8/lvmsadc.8.gz %{_mandir}/man8/lvmsar.8.gz +%package -n device-mapper +# bug437293 +%ifarch ppc64 +Obsoletes: device-mapper-64bit +%endif +# +Version: 1.02.77 +Release: 0 +Url: ftp://sources.redhat.com/pub/lvm2/ +Summary: Device Mapper Tools +Group: System/Base + +%description -n device-mapper +Programs, libraries, and man pages for configuring and using the device +mapper. + +%post -n device-mapper +%{run_ldconfig} +[ -x /sbin/mkinitrd_setup ] && mkinitrd_setup +%{insserv_cleanup} + +%postun -n device-mapper +%{run_ldconfig} +[ -x /sbin/mkinitrd_setup ] && mkinitrd_setup +%{insserv_cleanup} + +%files -n device-mapper +%defattr(-,root,root) +%doc COPYING COPYING.LIB README VERSION_DM WHATS_NEW_DM +%config /etc/init.d/boot.device-mapper +/%_lib/libdevmapper.so.1.02 +/%_lib/libdevmapper-event.so.1.02 +%dir /lib/udev/rules.d +%dir /lib/udev +/lib/udev/rules.d/10-dm.rules +#/lib/udev/rules.d/12-dm-permissions.rules +/lib/udev/rules.d/13-dm-disk.rules +/lib/udev/rules.d/95-dm-notify.rules +/sbin/dmsetup +/sbin/dmeventd +%{_mandir}/man8/dmsetup.8.gz +%{_mandir}/man8/dmeventd.8.gz +%dir /lib/mkinitrd +%dir /lib/mkinitrd/scripts +/lib/mkinitrd/scripts/setup-dm.sh +/lib/mkinitrd/scripts/boot-dm.sh + +%package -n device-mapper-devel +Version: 1.02.77 +Release: 0 +Summary: Development package for the device mapper +Group: System/Base +Requires: device-mapper = 1.02.77 + +%description -n device-mapper-devel +Files needed for software development using the device mapper + +%files -n device-mapper-devel +%defattr(-,root,root) +/%_libdir/libdevmapper.so +/%_libdir/libdevmapper-event.so +/%_libdir/pkgconfig/*.pc +/usr/include/libdevmapper.h +/usr/include/libdevmapper-event.h + +%package clvm +Url: http://sources.redhat.com/cluster/clvm/ +Version: 2.02.98 +Release: 0 +Requires: device-mapper >= 1.02.25 +Requires: lvm2 = %{version} +Requires: openais +Provides: clvm +Summary: Clustered LVM2 +Group: System/Base + +%description clvm +A daemon for using LVM2 Logival Volumes in a clustered environment. + + + +%files clvm +%defattr(-,root,root) +/usr/sbin/clvmd +%dir /usr/lib/ocf +%dir /usr/lib/ocf/resource.d +%dir /usr/lib/ocf/resource.d/lvm2 +/usr/lib/ocf/resource.d/lvm2/clvmd +%{_mandir}/man8/clvmd.8.gz + %changelog diff --git a/man_page_sectors.diff b/man_page_sectors.diff index dabe41d..20b2214 100644 --- a/man_page_sectors.diff +++ b/man_page_sectors.diff @@ -1,8 +1,10 @@ -Index: man/pvdisplay.8.in -=================================================================== ---- man/pvdisplay.8.in.orig 2009-10-26 22:37:09.000000000 +0800 -+++ man/pvdisplay.8.in 2010-02-04 11:00:40.000000000 +0800 -@@ -51,7 +51,7 @@ +--- + man/pvdisplay.8.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- LVM2.2.02.98.orig/man/pvdisplay.8.in ++++ LVM2.2.02.98/man/pvdisplay.8.in +@@ -64,7 +64,7 @@ The values are: * physical volume device name * volume group name diff --git a/pipe_buff-definition.diff b/pipe_buff-definition.diff index 8cf29e7..5d618ec 100644 --- a/pipe_buff-definition.diff +++ b/pipe_buff-definition.diff @@ -1,8 +1,10 @@ -Index: daemons/clvmd/clvmd.c -=================================================================== ---- daemons/clvmd/clvmd.c.orig -+++ daemons/clvmd/clvmd.c -@@ -65,6 +65,8 @@ +--- + daemons/clvmd/clvmd.c | 2 ++ + 1 file changed, 2 insertions(+) + +--- LVM2.2.02.98.orig/daemons/clvmd/clvmd.c ++++ LVM2.2.02.98/daemons/clvmd/clvmd.c +@@ -53,6 +53,8 @@ #define ISLOCAL_CSID(c) (memcmp(c, our_csid, max_csid_len) == 0) diff --git a/sleep-try-open-count.diff b/sleep-try-open-count.diff index e3d218b..7082ccd 100644 --- a/sleep-try-open-count.diff +++ b/sleep-try-open-count.diff @@ -1,9 +1,19 @@ -Index: LVM2.2.02.67/libdm/libdm-deptree.c -=================================================================== ---- LVM2.2.02.67.orig/libdm/libdm-deptree.c -+++ LVM2.2.02.67/libdm/libdm-deptree.c -@@ -1143,6 +1143,19 @@ static int _dm_tree_deactivate_children( - (child->presuspend_node && +--- + libdm/libdm-deptree.c | 14 ++++++++++++++ + 1 file changed, 14 insertions(+) + +--- LVM2.2.02.98.orig/libdm/libdm-deptree.c ++++ LVM2.2.02.98/libdm/libdm-deptree.c +@@ -20,6 +20,7 @@ + #include + #include + #include ++#include + + #define MAX_TARGET_PARAMSIZE 500000 + +@@ -1570,6 +1571,19 @@ static int _dm_tree_deactivate_children( + if ((child->presuspend_node && !_node_has_closed_parents(child->presuspend_node, uuid_prefix, uuid_prefix_len))) { + @@ -11,7 +21,7 @@ Index: LVM2.2.02.67/libdm/libdm-deptree.c + while (info.open_count && idx--) { + struct timespec ts = {0, 500000000}; + nanosleep(&ts, NULL); -+ _info_by_dev(dinfo->major, dinfo->minor, 1, &info); ++ _info_by_dev(dinfo->major, dinfo->minor, 1, &info, NULL, NULL, NULL); + } + + if (info.open_count) { diff --git a/support-drbd-filter.diff b/support-drbd-filter.diff index 3127ffd..4be11cf 100644 --- a/support-drbd-filter.diff +++ b/support-drbd-filter.diff @@ -1,10 +1,13 @@ This is still very primitive support of drbd in lvm2. Can we use some /sys information for this ? -Index: LVM2.2.02.58/lib/cache/lvmcache.c -================================================================================ ---- LVM2.2.02.58/lib/cache/lvmcache.c -+++ LVM2.2.02.58/lib/cache/lvmcache.c -@@ -1222,6 +1222,14 @@ +--- + lib/cache/lvmcache.c | 14 ++++++++++++++ + lib/filters/filter.c | 7 +++++++ + 2 files changed, 21 insertions(+) + +--- LVM2.2.02.98.orig/lib/cache/lvmcache.c ++++ LVM2.2.02.98/lib/cache/lvmcache.c +@@ -1489,6 +1489,14 @@ struct lvmcache_info *lvmcache_add(struc dev_subsystem_name(existing->dev), dev_name(existing->dev)); return NULL; @@ -19,7 +22,7 @@ Index: LVM2.2.02.58/lib/cache/lvmcache.c } else if (dm_is_dm_major(MAJOR(existing->dev->dev)) && !dm_is_dm_major(MAJOR(dev->dev))) { log_very_verbose("Ignoring duplicate PV %s on " -@@ -1242,6 +1250,12 @@ +@@ -1509,6 +1517,12 @@ struct lvmcache_info *lvmcache_add(struc "using dm %s", pvid, dev_name(existing->dev), dev_name(dev)); @@ -32,9 +35,9 @@ Index: LVM2.2.02.58/lib/cache/lvmcache.c /* FIXME If both dm, check dependencies */ //else if (dm_is_dm_major(MAJOR(existing->dev->dev)) && //dm_is_dm_major(MAJOR(dev->dev))) ---- LVM2.2.02.58/lib/filters/filter.c -+++ LVM2.2.02.58/lib/filters/filter.c -@@ -54,6 +54,13 @@ +--- LVM2.2.02.98.orig/lib/filters/filter.c ++++ LVM2.2.02.98/lib/filters/filter.c +@@ -60,6 +60,13 @@ int md_major(void) return _md_major; } diff --git a/udev-rules_update.diff b/udev-rules_update.diff index 9b390f1..fcc89d0 100644 --- a/udev-rules_update.diff +++ b/udev-rules_update.diff @@ -1,10 +1,13 @@ -Index: LVM2.2.02.84/udev/10-dm.rules.in -=================================================================== ---- LVM2.2.02.84.orig/udev/10-dm.rules.in 2011-01-28 19:41:52.000000000 +0800 -+++ LVM2.2.02.84/udev/10-dm.rules.in 2011-02-15 14:50:19.000000000 +0800 -@@ -94,6 +94,10 @@ - TEST!="dm", IMPORT{program}="$env{DM_SBIN_PATH}/dmsetup info -j %M -m %m -c --nameprefixes --noheadings --rows -o name,uuid,suspended" - ENV{DM_SUSPENDED}!="?*", IMPORT{program}="$env{DM_SBIN_PATH}/dmsetup info -j %M -m %m -c --nameprefixes --noheadings --rows -o suspended" +--- + udev/10-dm.rules.in | 4 ++++ + udev/13-dm-disk.rules.in | 9 ++++++--- + 2 files changed, 10 insertions(+), 3 deletions(-) + +--- LVM2.2.02.98.orig/udev/10-dm.rules.in ++++ LVM2.2.02.98/udev/10-dm.rules.in +@@ -90,6 +90,10 @@ TEST=="dm", ENV{DM_NAME}="$attr{dm/name} + TEST!="dm", IMPORT{program}="(DM_EXEC)/dmsetup info -j %M -m %m -c --nameprefixes --noheadings --rows -o name,uuid,suspended" + ENV{DM_SUSPENDED}!="?*", IMPORT{program}="(DM_EXEC)/dmsetup info -j %M -m %m -c --nameprefixes --noheadings --rows -o suspended" +# dmsetup export is a SUSE extension to dmsetup +# it is required by some other udev rules in SUSE distro. @@ -13,11 +16,9 @@ Index: LVM2.2.02.84/udev/10-dm.rules.in # dmsetup tool provides suspended state information in textual # form with values "Suspended"/"Active". We translate it to # 0/1 respectively to be consistent with sysfs values. -Index: LVM2.2.02.84/udev/13-dm-disk.rules -=================================================================== ---- LVM2.2.02.84.orig/udev/13-dm-disk.rules 2009-11-13 20:33:27.000000000 +0800 -+++ LVM2.2.02.84/udev/13-dm-disk.rules 2011-02-15 14:51:31.000000000 +0800 -@@ -14,13 +14,16 @@ +--- LVM2.2.02.98.orig/udev/13-dm-disk.rules.in ++++ LVM2.2.02.98/udev/13-dm-disk.rules.in +@@ -14,13 +14,16 @@ ACTION!="add|change", GOTO="dm_end" ENV{DM_UDEV_RULES_VSN}!="?*", GOTO="dm_end" ENV{DM_UDEV_DISABLE_DISK_RULES_FLAG}=="1", GOTO="dm_end" @@ -29,7 +30,7 @@ Index: LVM2.2.02.84/udev/13-dm-disk.rules ENV{DM_SUSPENDED}=="1", GOTO="dm_end" +ENV{DM_TARGET_TYPES}=="|*error*", GOTO="dm_end" - IMPORT{program}="$env{DM_SBIN_PATH}/blkid -o udev -p $tempnode" + (BLKID_RULE) -ENV{DM_UDEV_LOW_PRIORITY_FLAG}=="1", OPTIONS="link_priority=-100" +ENV{DM_UDEV_LOW_PRIORITY_FLAG}=="1", OPTIONS+="link_priority=-100" +OPTIONS+="watch"