Module Name: src Committed By: tkusumi Date: Sat Dec 21 11:59:03 UTC 2019
Modified Files: src/sys/dev/dm: dm.h dm_ioctl.c dm_table.c dm_target.c dm_target_error.c dm_target_linear.c dm_target_mirror.c dm_target_snapshot.c dm_target_stripe.c dm_target_zero.c Log Message: dm: Remove target's ->deps() by implementing deps in dm core Retrieving device dependencies doesn't need to be target specific. The reason it currently needs ->deps() is because dm core doesn't have data structure that allows table to walk through target's underlying devices. Add struct dm_mapping to be able to do this, and remove ->deps()'s from targets which basically do the same thing. =====(A) before this commit table | [dm core] ------------------------------------------------------- | pdev pdev pdev [dm targets] v ^ ^ ^ target----/---------/---------/ (void*) =====(B) this commit table---->mapping-->mapping-->mapping-->... | | | | | v v v [dm core] ------------------------------------------------------- | pdev pdev pdev [dm targets] v ^ ^ ^ target----/---------/---------/ (void*) taken-from: DragonFlyBSD To generate a diff of this commit: cvs rdiff -u -r1.49 -r1.50 src/sys/dev/dm/dm.h cvs rdiff -u -r1.47 -r1.48 src/sys/dev/dm/dm_ioctl.c cvs rdiff -u -r1.16 -r1.17 src/sys/dev/dm/dm_table.c cvs rdiff -u -r1.34 -r1.35 src/sys/dev/dm/dm_target.c \ src/sys/dev/dm/dm_target_linear.c cvs rdiff -u -r1.26 -r1.27 src/sys/dev/dm/dm_target_error.c cvs rdiff -u -r1.22 -r1.23 src/sys/dev/dm/dm_target_mirror.c cvs rdiff -u -r1.36 -r1.37 src/sys/dev/dm/dm_target_snapshot.c cvs rdiff -u -r1.41 -r1.42 src/sys/dev/dm/dm_target_stripe.c cvs rdiff -u -r1.28 -r1.29 src/sys/dev/dm/dm_target_zero.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.