Revision 1: [upstream] Small tidy-ups: - Use unsigned consistently - Simplify crypt_iv_plain memset - Use DMEMIT macro Signed-Off-By: Alasdair G Kergon Signed-Off-By: Christophe Saout Revision 2: [upstream] Create crypt_iv_operations structure with generator method and move the plain iv generator into this structure. Optionally accept an extended syntax: -- This also makes it ready to support chaining modes other than CBC mode, such as CMC (not implemented in cryptoapi yet), The problems outlined by Adam J. Richter in http://article.gmane.org/gmane.linux.kernel.device-mapper.dm-crypt/454 would be fixed by switching to CMC chaining mode. Example of a valid target line: 0 200 crypt aes-cbc-plain 00000000000000000000000000000000 0 /dev/loop/5 0 Signed-Off-By: Alasdair G Kergon Signed-Off-By: Christophe Saout Revision 3: [upstream] This patch adds a new IV mode, I baptise ''encrypted sector|salt IV'' I describe ESSIV in http://article.gmane.org/gmane.linux.kernel.device-mapper.dm-crypt/472 To use ESSIV, set the ivmode (using the new syntax) to "essiv:". "hash" should be a valid cryptoapi hash. This, for example, is a valid dm-target line: 0 200 crypt aes-cbc-essiv:sha256 00000000000000000000000000000000 0 /dev/loop/5 0 Signed-Off-By: Alasdair G Kergon Signed-Off-By: Christophe Saout Signed-Off-By: Fruhwirth Clemens Revision 4: [upstream] Remove stray semicolon. I've found the most severe bug report ever! ;-) You got a stray semicolon in dm.c, around :809 + atomic_inc(&md->event_nr);; Signed-Off-By: Alasdair G Kergon From: Lars Marowsky-Bree Revision 5: [upstream] Remove duplicate kfree in dm_register_target error path. Signed-Off-By: Alasdair G Kergon Revision 6: dm-crypt fix for zero-length key. Signed-Off-By: Alasdair G Kergon Revision 7: Use %llu not %Lu in sscanf/printf format strings. Signed-Off-By: Alasdair G Kergon Revision 8: DM_TARGET_MSG ioctl to send a message to a dm target instance Revision 9: Ioctl interface accepts refs by device number, not just name or uuid. Signed-Off-By: Alasdair G Kergon Revision 10: Fix some DMERR strings. Signed-Off-By: Alasdair G Kergon Revision 11: Multipath (udm1) Revision 12: Round-robin path selector (udm1). Revision 13: Add hardware handler framework (udm1). Revision 14: EMC hw_handler (udm1). Revision 15: Fill out mpath suspend/resume functions so queued I/O without a path is errored. Revision 16: Tidy bypass_pg_num Revision 17: Validate supplied priority group count. Revision 18: Don't change PG until it runs out of paths. Revision 19: Add switch_group message. Revision 20: Tidy pgpath in choosing funcs. Revision 21: Always clear m->next. Revision 22: Tidy do_end_io. Revision 23: Try a ps_end_io_fn Revision 24: Remove a stray path_lookup from rr. Revision 25: Add path selector args. Revision 26: add ps args to arg comment Revision 27: Add new ps args to status/table output. Revision 28: Add initial PG number to table. Revision 29: Add next_pg to table output. Revision 30: Fix status line. Revision 31: Split target suspend hook into presuspend and postsuspend. Revision 32: Move the pre-suspend. Revision 33: Avoid endio references to invalid pgpath. Revision 34: Flakey target. Revision 35: mm kgdb