Hello community,
here is the log from the commit of package device-mapper
checked in at Mon May 7 18:11:50 CEST 2007.
--------
--- device-mapper/device-mapper.changes 2007-02-11 11:58:41.000000000 +0100
+++ /mounts/work_src_done/STABLE/device-mapper/device-mapper.changes 2007-05-07 13:16:23.946508000 +0200
@@ -1,0 +2,12 @@
+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
+
+-------------------------------------------------------------------
Old:
----
device-mapper.1.02.13.tar.bz2
device-mapper-option-values.patch
New:
----
device-mapper.1.02.19.tar.bz2
device-mapper-dmsetup-export.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ device-mapper.spec ++++++
--- /var/tmp/diff_new_pack.N17384/_old 2007-05-07 18:11:26.000000000 +0200
+++ /var/tmp/diff_new_pack.N17384/_new 2007-05-07 18:11:26.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package device-mapper (Version 1.02.13)
+# spec file for package device-mapper (Version 1.02.19)
#
# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -13,13 +13,13 @@
License: GNU General Public License (GPL), GNU Library General Public License v. 2.0 and 2.1 (LGPL)
Group: System/Base
Autoreqprov: on
-Version: 1.02.13
-Release: 9
+Version: 1.02.19
+Release: 1
Summary: Device Mapper Tools
Source: device-mapper.%{version}.tar.bz2
Source1: boot.device-mapper
Patch: k_dev_t.dif
-Patch1: %{name}-option-values.patch
+Patch1: %{name}-dmsetup-export.patch
Patch2: %{name}-gcc-warnings.patch
Patch3: %{name}-static.patch
Patch4: %{name}-nochown.patch
@@ -99,7 +99,16 @@
%attr(644, root, root) %_libdir/libdevmapper.a
/usr/include/libdevmapper.h
-%changelog -n device-mapper
+%changelog
+* Mon May 07 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 2007 - ro@suse.de
- fix build as non-root
* Tue Jan 16 2007 - fehr@suse.de
++++++ device-mapper.1.02.13.tar.bz2 -> device-mapper.1.02.19.tar.bz2 ++++++
++++ 8249 lines of diff (skipped)
++++++ device-mapper-dmsetup-export.patch ++++++
diff --git a/dmsetup/dmsetup.c b/dmsetup/dmsetup.c
index 25f14a6..b693008 100644
--- a/dmsetup/dmsetup.c
+++ b/dmsetup/dmsetup.c
@@ -995,6 +995,94 @@ static int _status(int argc, char **argv
return r;
}
+static int _export(int argc, char **argv, void *data)
+{
+ int r = 0;
+ struct dm_task *dmt = NULL;
+ void *next = NULL;
+ uint64_t start, length;
+ char *target_type = NULL;
+ char *params;
+ struct dm_names *names = (struct dm_names *) data;
+ const char *name = NULL;
+ const char *uuid = NULL;
+ struct dm_info info;
+
+ if (data)
+ name = names->name;
+ else if (argc == 2)
+ name = argv[1];
+
+ if (!(dmt = dm_task_create(DM_DEVICE_STATUS)))
+ goto out;
+
+ if (!_set_task_device(dmt, name, 0))
+ goto out;
+
+ if (!dm_task_run(dmt))
+ goto out;
+
+ if (!dm_task_get_info(dmt, &info) || !info.exists)
+ goto out;
+
+ if (!name)
+ name = dm_task_get_name(dmt);
+
+ uuid = dm_task_get_uuid(dmt);
+ printf("DM_NAME=%s\n", name);
+
+ if ((uuid = dm_task_get_uuid(dmt)) && *uuid)
+ printf("DM_UUID=%s\n", uuid);
+
+ if (!info.exists) {
+ printf("DM_STATE=NOTPRESENT\n");
+ goto out;
+ }
+
+ printf("DM_STATE=%s\n",
+ info.suspended ? "SUSPENDED" :
+ (info.read_only ? " READONLY" : "ACTIVE"));
+
+ if (!info.live_table && !info.inactive_table)
+ printf("DM_TABLE_STATE=NONE\n");
+ else
+ printf("DM_TABLE_STATE=%s%s%s\n",
+ info.live_table ? "LIVE" : "",
+ info.live_table && info.inactive_table ? "/" : "",
+ info.inactive_table ? "INACTIVE" : "");
+
+ if (info.open_count != -1)
+ printf("DM_OPENCOUNT=%d\n", info.open_count);
+
+ printf("DM_LAST_EVENT_NR=%" PRIu32 "\n", info.event_nr);
+
+ printf("DM_MAJOR=%d\n", info.major);
+ printf("DM_MINOR=%d\n", info.minor);
+
+ if (info.target_count != -1)
+ printf("DM_TARGET_COUNT=%d\n", info.target_count);
+
+ /* export all table types */
+ next = dm_get_next_target(dmt, next, &start, &length,
+ &target_type, ¶ms);
+ if (target_type) {
+ printf("DM_TARGET_TYPES=%s", target_type);
+ while (next) {
+ next = dm_get_next_target(dmt, next, &start, &length,
+ &target_type, ¶ms);
+ if (target_type)
+ printf(",%s", target_type);
+ }
+ printf("\n");
+ }
+
+ r = 1;
+ out:
+ if (dmt)
+ dm_task_destroy(dmt);
+ return r;
+}
+
/* Show target names and their version numbers */
static int _targets(int argc __attribute((unused)), char **argv __attribute((unused)), void *data __attribute((unused)))
{
@@ -1699,6 +1787,7 @@ static struct command _commands[] = {
{"info", "[<device>]", 0, 1, _info},
{"deps", "[<device>]", 0, 1, _deps},
{"status", "[<device>] [--target
participants (1)
-
root@Hilbert.suse.de