Source-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: src/sys/dev/dm



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.




Home | Main Index | Thread Index | Old Index