'Persistent' flag checking in the snapshot target constructor had a
coding error which meant that it was always invalid.
--- diff/drivers/md/dm-snapshot.c	2003-06-17 10:06:04.000000000 +0100
+++ source/drivers/md/dm-snapshot.c	2003-06-17 10:06:51.000000000 +0100
@@ -415,7 +415,7 @@
 	cow_path = argv[1];
 	persistent = toupper(*argv[2]);
 
-	if (persistent != 'P' || persistent != 'N') {
+	if (persistent != 'P' && persistent != 'N') {
 		ti->error = "Persistent flag is not P or N";
 		r = -EINVAL;
 		goto bad;
