diff mbox

: dm-snap-fix-status-output.patch

Message ID 1236202245.28664.5.camel@hydrogen.msp.redhat.com (mailing list archive)
State Accepted, archived
Delegated to: Alasdair Kergon
Headers show

Commit Message

Jonthan Brassow March 4, 2009, 9:30 p.m. UTC
This patch goes over the first round of exception store API patches.
Prerequisites are:
  1) dm-exception-store-introduce-registry.patch
  2) dm-exception-store-move-dm_target-pointer.patch
  3) dm-exception-store-move-chunk_fields.patch
  4) dm-exception-store-move-cow-pointer.patch
  5) dm-snapshot-remove-dm_snap-header-use.patch
  6) dm-snapshot-remove-dm_snap-header.patch
  7) dm-snapshot-use-DMEMIT-macro-for-status.patch
  8) dm-snapshot-move-ctr-parsing-to-exception-store.patch
  9) dm-snapshot-move-status-to-exception-store.patch
  10) dm-exception-store-generalize-table-args.patch
  11) dm-snapshot-new-ctr-table-format.patch
  12) dm-snapshot-cleanup.patch
  13) dm-snap-minor-fix.patch

 brassow

Failure to take into account what has already been put into
the status buffer via 'DMEMIT' will result in the exception
store status printing over what snapshot_status put into
the buffer.

Signed-off-by: Jonathan Brassow <jbrassow@redhat.com>



--
dm-devel mailing list
dm-devel@redhat.com
https://www.redhat.com/mailman/listinfo/dm-devel

Comments

Alasdair G Kergon March 19, 2009, 8 p.m. UTC | #1
Folded into dm-snapshot-move-status-to-exception-store.patch

Alasdair
diff mbox

Patch

Index: linux-2.6/drivers/md/dm-snap.c
===================================================================
--- linux-2.6.orig/drivers/md/dm-snap.c
+++ linux-2.6/drivers/md/dm-snap.c
@@ -1193,7 +1193,7 @@  static void snapshot_resume(struct dm_ta
 static int snapshot_status(struct dm_target *ti, status_type_t type,
 			   char *result, unsigned int maxlen)
 {
-	int sz = 0;
+	unsigned int sz = 0;
 	struct dm_snapshot *snap = ti->private;
 
 	switch (type) {
@@ -1221,8 +1221,9 @@  static int snapshot_status(struct dm_tar
 		 * to make private copies if the output is to
 		 * make sense.
 		 */
-		DMEMIT("%s", snap->origin->name);
-		snap->store->type->status(snap->store, type, result, maxlen);
+		DMEMIT("%s ", snap->origin->name);
+		snap->store->type->status(snap->store, type,
+					  result+sz, maxlen-sz);
 		break;
 	}