'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	2002-12-04 15:35:23.000000000 +0000
+++ source/drivers/md/dm-snapshot.c	2003-01-10 10:47:54.000000000 +0000
@@ -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;