Snapshots in kernel 2.6.19

Jürgen E. Fischer <[email protected]> Tue, 10 Apr 2007 22:07:45 +0200
Newsgroups gmane.linux.evms.devel
Message-ID <[email protected]>
Hi there,

starting somewhere between 2.6.18 and 2.6.19 making snapshots stopped
working.

The device mapper complains like this:

device-mapper: table: 254:52: snapshot: requires exactly 4 arguments

EVMS passes one argument more than expected.  Apparently the evms patch
that actually supported the argument never made it into device mapper.

Before 2.6.19 it was ignored, so I assume it's save to just drop it.
Attached a patch does that.


Juergen

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV

_______________________________________________
Evms-devel mailing list
[email protected]
To subscribe/unsubscribe, please visit:
https://lists.sourceforge.net/lists/listinfo/evms-devel
dm-targets.c.diff (text/x-diff, 1.1 KB)
--- engine/dm-targets.c.orig	2007-04-10 21:35:29.651723176 +0200
+++ engine/dm-targets.c	2007-04-10 21:35:59.293412360 +0200
@@ -921,14 +921,14 @@
  *
  * Generate an ASCII constructor string for a snapshot target.
  * A snapshot string has the form:
- *   <org_major>:<org_minor> <snap_major>:<snap_minor> <p|n> <chunk_size> <org_parent_major>:<org_parent_minor>
+ *   <org_major>:<org_minor> <snap_major>:<snap_minor> <p|n> <chunk_size>
  **/
 static int snapshot_build_params(dm_target_t *target)
 {
 	dm_target_snapshot_t *snapshot = target->data.snapshot;
 	char *format = (dm_get_version() == 3) ?
-			"%x:%x %x:%x %c %u %x:%x" :
-			"%u:%u %u:%u %c %u %u:%u";
+			"%x:%x %x:%x %c %u" :
+			"%u:%u %u:%u %c %u";
 	int rc = ENOMEM;
 
 	LOG_PROC_ENTRY();
@@ -938,9 +938,7 @@
 		snprintf(target->params, 50, format,
 			 snapshot->origin.major, snapshot->origin.minor,
 			 snapshot->snapshot.major, snapshot->snapshot.minor,
-			 (snapshot->persistent) ? 'p' : 'n', snapshot->chunk_size,
-			 snapshot->origin_parent.major,
-			 snapshot->origin_parent.minor);
+			 (snapshot->persistent) ? 'p' : 'n', snapshot->chunk_size);
 		rc = 0;
 	}