]> sourceware.org Git - lvm2.git/commit
metadata: add infrastructure to track LV history
authorPeter Rajnoha <prajnoha@redhat.com>
Tue, 1 Mar 2016 14:18:42 +0000 (15:18 +0100)
committerPeter Rajnoha <prajnoha@redhat.com>
Thu, 3 Mar 2016 10:26:51 +0000 (11:26 +0100)
commite573eca554374ba6889a7f89fcb9850ae13c793e
treec9432a7f9b7dc221d1e8c2cc9a9e4d6c0aee9487
parent5e718ec66679aad42773901a40e168ba4c3f3f50
metadata: add infrastructure to track LV history

Add new structures and new fields in existing structures to support
tracking history of LVs (the LVs which don't exist - the have been
removed already):

  - new "struct historical_logical_volume"
    This structure keeps information specific to historical LVs
    (historical LV is very reduced form of struct logical_volume +
     it contains a few specific fields to track historical LV
     properties like removal time and connections among other LVs).

  - new "struct generic_logical_volume"
    Wrapper for "struct historical_logical_volume" and
    "struct logical_volume" to make it possible to handle volumes
    in uniform way, no matter if it's live or historical one.

  - new "struct glv_list"
    Wrapper for "struct generic_logical_volume" so it can be
    added to a list.

  - new "indirect_glvs" field in "struct logical_volume"
    List that stores references to all indirect users of this LV - this
    interconnects live LV with historical descendant LVs or even live
    descendant LVs.

  - new "indirect_origin" field in "struct lv_segment"
    Reference to indirect origin of this segment - this interconnects
    live LV (segment) with historical ancestor.

  - new "this_glv" field in "struct logical_volume"
    This references an existing generic_logical_volume wrapper for this
    LV, if used. It can be NULL if not needed - which means we're not
    handling historical LVs at all.

  - new "historical_lvs" field in "struct volume group
    List of all historical LVs read from VG metadata.
lib/metadata/lv.h
lib/metadata/lv_manip.c
lib/metadata/metadata-exported.h
lib/metadata/vg.c
lib/metadata/vg.h
lib/report/report.c
tools/reporter.c
This page took 0.040207 seconds and 5 git commands to generate.