summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* pvck: add repairdev-dct-pvck-repair-4David Teigland2019-11-115-65/+1867
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To write a new/repaired pv_header and label_header: pvck --repairtype pv_header --file <file> <device> This uses the metadata input file to find the PV UUID, device size, and data offset. To write new/repaired metadata text and mda_header: pvck --repairtype metadata --file <file> <device> This requires a good pv_header which points to one or two metadata areas. Any metadata areas referenced by the pv_header are updated with the specified metadata and a new mda_header. "--settings mda_num=1|2" can be used to select one mda to repair. To combine all header and metadata repairs: pvck --repair --file <file> <device> It's best to use a raw metadata file as input, that was extracted from another PV in the same VG (or from another metadata area on the same PV.) pvck will also accept a metadata backup file, but that will produce metadata that is not identical to other metadata copies on other PVs and other areas. So, when using a backup file, consider using it to update metadata on all PVs/areas. To get a raw metadata file to use for the repair, see pvck --dump commands. List all instances of metadata from the metadata area (by default mda1 is searched, --settings "mda_num=2" will search the second): pvck --dump metadata_search <device> Save one instance of metadata at the given offset to the specified file (this file can be used for repair): pvck --dump metadata_search --file <file> --settings "metadata_offset=<off>" <device>
* pvck: dump functions cleanup args and return valsDavid Teigland2019-11-041-32/+36
|
* pvck: dump show most recent metadataDavid Teigland2019-11-041-1/+23
|
* pvck: allow disk locations to be specifiedDavid Teigland2019-11-043-86/+134
| | | | | | | | | | | | using --settings: mda_offset=<offset> mda_size=<size> can be used in place of the offset/size that normally come from headers. metadata_offset=<offset> prints/saves one instance of metadata text at the given offset, in metadata_all or metadata_search.
* pvck: move some arg processingDavid Teigland2019-11-041-66/+37
|
* scan: add simple scan to find a pvidDavid Teigland2019-11-042-0/+72
|
* metadata: add vg_from_config_treeDavid Teigland2019-10-305-22/+42
| | | | | Add cmd/fmt args to import functions so that they can be used without the fid arg which.
* Experimental VDO lvmdbusd supportTony Asleson2019-10-301-0/+1
|
* lvmdbustest.py: Use local data instead of fetchingTony Asleson2019-10-301-2/+6
| | | | | | | Avoid making more dbus calls to get information we already have. This also avoids us getting an error where a dbus object representation is being deleted by another process while we are trying to gather information about it across the wire.
* lvmdbustest.py: Improve concurrent test handlingTony Asleson2019-10-301-2/+10
| | | | | Filter out LVs too, so that we can run more than 1 instance of the unit test at the same time.
* lvmdbustest.py: Add tests for LV interfaceTony Asleson2019-10-301-53/+154
| | | | | Add tests for all the different LV types with the standard LV dbus interface. These tests shook out a couple of new bugs.
* lvmdbusd: Debug msg. improvements.Tony Asleson2019-10-302-7/+7
|
* lvmdbusd: Fix model inconsistency when LV loses interfaceTony Asleson2019-10-301-1/+16
| | | | | | When a LV loses an interface it ends up getting removed and recreated. This happens after the VGs have been processed and updated. Thus when this happens we need to re-check the VGs.
* lvmdbusd: Bug fix for activate/deactivateTony Asleson2019-10-301-0/+1
| | | | Prevent the daemon from stalling when it gets stuck on a y/n prompt.
* testlib.py: Add interface instance vars.Tony Asleson2019-10-301-4/+16
|
* testlib.py: WS correctionsTony Asleson2019-10-301-12/+17
|
* lvmdbustest.py: Add basic vdo testTony Asleson2019-10-302-1/+54
|
* testlib.py: Correct dbus signature verificationTony Asleson2019-10-301-6/+5
| | | | | This allows us to fully verify introspection data matches what we are getting.
* lvmdbusd: VDO Pool LV representationTony Asleson2019-10-308-29/+197
| | | | | | | VDO pool LVs are represented by a new dbus interface VgVdo. Currently the interface only has additional VDO properties, but when the ability to support additional LV creation is added we can add a method to the interface.
* lvmdbustest.py: Create common func. _create_cache_lvTony Asleson2019-10-301-31/+21
|
* lvmdbustest.py: Add nested helper function major_minorTony Asleson2019-10-301-2/+5
|
* lvmdbustest.py: WS correctionsTony Asleson2019-10-301-65/+58
|
* lvmdbusd: Prevent running --nojson with VDO supportTony Asleson2019-10-301-0/+4
|
* lvmdbustest.py: Add cache LV rename testTony Asleson2019-10-301-0/+33
|
* lvmdbusd: Add VgVdo class & assoc. interfaceTony Asleson2019-10-303-3/+64
| | | | | When VDO support is available we will create VG object instances which will allow the API user to create VDO pool LVs.
* lvmdbusd: Add cfg.vdo_supportTony Asleson2019-10-304-2/+10
| | | | Will be used to add vdo interfaces on demand.
* lvmdbustest.py: Remove 2 TODOsTony Asleson2019-10-301-6/+0
| | | | This issue has been resolved, sizes > 2**32-1 not supported.
* lvmdbustest.py: Add func. _pv_scanTony Asleson2019-10-301-58/+19
|
* lvmdbustest.py: Use existing _create_lvTony Asleson2019-10-301-23/+2
|
* lvmdbustest.py: Add func. _create_thin_lvTony Asleson2019-10-301-23/+9
|
* lvmdbustest.py: Add func. _all_pv_object_pathsTony Asleson2019-10-301-52/+15
| | | | This is needed in a number of places.
* lvmdbustest.py: Add function for lv path checkTony Asleson2019-10-301-32/+23
|
* lvmdbusdtest.py: Use common function for tag addTony Asleson2019-10-301-25/+15
|
* lvmdbustest.py: Remove duplicate setup codeTony Asleson2019-10-301-37/+3
| | | | | Remove the same copy & pasted code which simply creates a VG to use.
* man lvmvdo: Correct spellingsTony Asleson2019-10-301-3/+3
|
* man: Include '_vdata' as reserved nameTony Asleson2019-10-301-1/+1
|
* lvmdbusd: Add check for reserved name '_vdata'Tony Asleson2019-10-302-2/+2
| | | | Added for vdo support.
* lvmdbustest.py: Add blurb about scan_lvs = 1Tony Asleson2019-10-301-0/+4
| | | | | | When developing and testing on a local system, to get the unit test to pass the test_nesting test, editing the test conf will achieve the success too.
* lvmdbusd: Add d and D to type map for VolumeTypeTony Asleson2019-10-301-0/+1
| | | | These were added for vdo integration.
* lvmdbusd: Remove use of tmp variablesTony Asleson2019-10-303-73/+43
| | | | | We can use tuple expansion from the command handler functions directly.
* lvmdbusd: Remove duplicate error handling codeTony Asleson2019-10-304-24/+16
| | | | | vg, lv, pv code had the same function for handling command execution. Move to utility function and abstract the difference.
* [bcache] bcache_invalidate_fd, only remove prefixes on success.Joe Thornber2019-10-291-1/+4
|
* [bcache] reverse earlier patch.Joe Thornber2019-10-291-5/+2
| | | | It broke some unit tests, for v. little benefit
* [bcache] pass up the error from io_submit rather than using generic -EIOJoe Thornber2019-10-291-2/+5
| | | | Author: Heming Zhao
* [bcache] add unit testJoe Thornber2019-10-291-0/+24
| | | | abort-forces-read
* [label] Use bcache_abort_fd() to ensure blocks are no longer in the cache.Joe Thornber2019-10-281-12/+20
| | | | | | | The return value from bcache_invalidate_fd() was not being checked. So I've introduced a little function, _invalidate_fd() that always calls bcache_abort_fd() if the write fails.
* [bcache] add bcache_abort()Joe Thornber2019-10-283-1/+106
| | | | This gives us a way to cope with write failures.
* WHATS_NEWZdenek Kabelac2019-10-261-0/+1
|
* tests: explicit testing of thin snapshotZdenek Kabelac2019-10-261-0/+49
| | | | Check merging of old snapshot of thin LV.
* snapshot: use single merging sequenceZdenek Kabelac2019-10-261-18/+1
| | | | | | | | | | | | | | The resume of 'released' 'COW' should preceed the resume of origin. The fact we need to do the sequence differently for merge was cause by bugs fixed in 2 previous commits - so we no longer need to recognize 'merging' and we should always go with single sequence. The importance of this order is - to properly remove '-real' device from origin LV. When COW is activated as 2nd. '-real' device is kept in table as it cannot be removed during 1st. resume of origin, and later activation of COW LV no longer builds tree associated with origin LV.