'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;