Commit message (Collapse)AuthorAgeFilesLines
* lvmetad: fix memleak on error pathZdenek Kabelac2012-08-231-1/+3
| | | | Release allocated buffer on error path.
* lvmetad: fix memleaksZdenek Kabelac2012-08-232-1/+7
| | | | Release allocated buffers in daemon_logf, daemon_log_parse
* mirror: reconfigure_mirror_images not usedPeter Rajnoha2012-08-152-0/+6
* thin: lvcreate --discardsZdenek Kabelac2012-08-095-1/+15
* thin: fix man page for lvsZdenek Kabelac2012-08-092-1/+2
| | | | Renamed discard -> discards
* thin: fix condition for kernels without discardsZdenek Kabelac2012-08-092-2/+3
| | | | | Report warning if the kernel is not support given discards settings. (In this case the behavior is equal to IGNORE.)
* thin: default discards for old mda is IGNOREZdenek Kabelac2012-08-092-1/+5
| | | | | If the discard was not set in metadata, use IGNORE, as this is the equivalent behavior for this case.
* RAID: Improve RAID argument handling.Jonathan Brassow2012-08-082-0/+22
| | | | | Disallow '-m' for RAID types that have no mirror component and disallow '-i' argument for RAID types that have no stripe component.
* libdaemon: Draft logging infrastructure.Petr Rockai2012-08-087-56/+245
| | | | | | | | | | | - logging is not controlled by "levels" but by "types"; types are independent of each other... implementation of the usual "log level" user-level semantics can be simply done on top; the immediate application is enabling/disabling wire traffic logging independently of other debug data, since the former is rather bulky and can easily obscure almost everything else - all logs go to "outlets", of which we currently have 2: syslog and stderr; which "types" go to which "outlets" is entirely configurable
* thin: fix recent commitsAlasdair G Kergon2012-08-071-11/+10
* thin: use discards as plural rather than singularAlasdair G Kergon2012-08-0717-89/+89
| | | | Global change from --discard to --discards, as that feels more natural.
* release: update version/WHATS_NEWAlasdair G Kergon2012-08-074-23/+24
* thin: tidy thin discard codeAlasdair G Kergon2012-08-071-22/+13
| | | | | | | | | Always store discard setting in LV metadata. (Note that lvcreate_params doesn't yet use --discard to set the initial value.) Remove undocumented env var LVM_THIN_VERSION_MIN that has no use on a live system. Change verbose 'feature not found' messages to debug. Use discard_str for string value of discard.
* man: expand lvchange --discard entryAlasdair G Kergon2012-08-071-1/+6
* thin: tidy commands.h arg listsAlasdair G Kergon2012-08-071-11/+8
| | | | | | args are listed alphabetically. lvconvert -T is covered in the second section not the first. It could be tidied further or split out.
* thin: mention discard/zero in lvchange errmsgAlasdair G Kergon2012-08-071-5/+4
* whitespaceAlasdair G Kergon2012-08-071-1/+0
* report: provide discard field value in fullAlasdair G Kergon2012-08-072-17/+6
| | | | | | | | | I think it's better not to abbreviate human-readable fields like 'discard' to a single character. Users can truncate it to the first character themselves if they wish. It's confusing to use the variable name discard for different things in different places - use discard_str when it's a string not the enum.
* activation: log target version presentAlasdair G Kergon2012-08-071-0/+5
| | | | Log (very verbose) the target version present in target_version.
* thin: tighten discard string conversionsAlasdair G Kergon2012-08-071-6/+3
| | | | | | | | | Respond with "unknown" rather than a NULL pointer if there's an internal error and the discard value is invalid. Don't accept 'no_passdown' or 'no-passdown' variants in the LVM metadata: this is written by the program so should only ever contain "nopassdown" and should be validated strictly against that.
* thin: order discard enum alphabeticallyAlasdair G Kergon2012-08-071-2/+2
* comments: misc updatesAlasdair G Kergon2012-08-074-10/+11
| | | | Miscellaneous clarifications to comments.
* man: document allocation process in lvm.8Alasdair G Kergon2012-08-072-61/+130
* args: increase major:minor limit to 4095:1048575Peter Rajnoha2012-08-066-38/+48
| | | | | | | | | Remove the limit for major and minor number arguments used while specifying persistent numbers via -My --major <major> --minor <minor> option which was set to 255 before. Follow the kernel limit instead which is 12 bits for major and 20 bits for minor number (kernel >= 2.6 and LVM formats that does not have FMT_RESTRICTED_LVIDS - so still keep the old limit of 255 for lvm1 format).
* [lvmetad] Continue reading/writing on EINTRMarian Csontos2012-08-021-4/+4
* Remove redundant (potentially harmful) semicolonMarian Csontos2012-08-021-1/+1
* lvmetad: Skip redundant checks on no inputMarian Csontos2012-08-021-14/+13
* make: fix make in scripts dir for --disable-applibPeter Rajnoha2012-08-011-5/+14
* Fix dependecy build for scripts dirZdenek Kabelac2012-08-011-0/+1
| | | | Since now scripts builds binaries, build needs to wait for libs.
* systemd: O_CLOEXEC not needed in activation generatorPeter Rajnoha2012-08-011-1/+1
| | | | | O_CLOEXEC not actually needed, this is just a simple program, it is not supposed to fork/exec anywhere and anytime in the future.
* make: use proper libs to make scripts subdirPeter Rajnoha2012-08-011-1/+6
* systemd: integrate lvm2 activation generator with conf+makePeter Rajnoha2012-07-316-10/+45
* systemd: add lvm2 activation generatorPeter Rajnoha2012-07-311-0/+169
| | | | | | | | | | | | | | | | | | | | The lvm2 activation generator generates systemd units conditionally based on the global/use_lvmetad lvm.conf setting. If use_lvmetad=0, the lvm2-activation-early.service and lvm2-activation.service units will be generated. These units are responsible for direct volume activation by calling "vgchange -aay --sysinit" (this is actually the original on-boot activation as it was used before). If use_lvmetad=1, no units will be generated as we're relying on autoactivation. Important thing to note is that the lvm2-activation units normally bring in the udev-settle ("storage-wait") service that waits for udev to settle (with block devices). We don't need this if lvmetad is used in conjunction with autoactivation feature... but systemd units can't be enabled or disabled (or dependencies added/removed) dynamically based on external configuration. Therefore, we need the unit generator which adds support for such situations: the units as a whole either exist or not based on the external configuration.
* lvm2app: add lvm_config_find_bool functionPeter Rajnoha2012-07-313-0/+28
| | | | To effectively retrieve the setting of anything that could be enabled or disabled.
* lvmetad: Fix an obscure error message.Petr Rockai2012-07-311-2/+1
* libdm-string: Add dm_vasprintf.Petr Rockai2012-07-312-2/+13
* version: updateAlasdair G Kergon2012-07-301-1/+1
* version: updateAlasdair G Kergon2012-07-301-1/+1
* version: updateAlasdair G Kergon2012-07-301-1/+1
* version: updateAlasdair G Kergon2012-07-302-2/+2
| | | | Update version date.
* TEST: Add lvmetad-test; checks --test with lvmetad.Petr Rockai2012-07-301-0/+34
* lvmetad: Implement --test (fixes #832033).Petr Rockai2012-07-302-4/+5
* reports: invalid snaps do not capitalise lv_attrAlasdair G Kergon2012-07-272-1/+1
| | | | | No longer capitalise first LV attribute char for invalid snapshots. This state is available from the 5th char now (I or S).
* dmsetup: allow --noflush with status/wait for thinAlasdair G Kergon2012-07-274-8/+21
| | | | | Allow --noflush with dmsetup status and wait (for thin target 1.3.0 / ioctl 4.23.0).
* vgextend: Allow PVs to be added to VGs that have PVs missingJonathan Brassow2012-07-262-2/+8
| | | | | | | | | | | | | | | | | Allowing people to add devices to a VG that has PVs missing helps people avoid the inability to repair RAID LVs in certain cases. For example, if a user creates a RAID 4/5/6 LV using all of the available devices in a VG, there will be no spare devices to repair the LV with if a device should fail. Further, because the VG is missing a device, new devices cannot be added to allow the repair. If 'vgreduce --removemissing' were attempted, the "MISSING" PV could not be removed without also destroying the RAID LV. Allowing vgextend to operate solves the circular dependency. When the PV is added by a vgextend operation, the sequence number is incremented and the 'MISSING' flag is put on the PVs which are missing.
* filters: move device_info_t definition to headerAlasdair G Kergon2012-07-262-7/+7
* systemd: ensure monitoring is handled after lvmetadPeter Rajnoha2012-07-261-1/+1
| | | | | | | Monitoring is handled using "vgchange --monitor" call. Ensure that lvmetad is up and running at the time of this call to prevent any fallback to direct scan within the vgchange. The same applies for shutdown sequence but the other way round - switch monitoring off and lvmetad afterwards.
* filters: Add Micron PCIe SSDs (mtip32xx) [part2]Alasdair G Kergon2012-07-261-0/+55
| | | | Recognise Micron PCIe SSDs in filter and move array out to device-types.h.
* filters: Add Micron PCIe SSDs (mtip32xx)Alasdair G Kergon2012-07-262-40/+3
| | | | Recognise Micron PCIe SSDs in filter and move array out to device-types.h.
* TEST: Conditionalize RAID tests on whether the dm-raid module existsJonathan Brassow2012-07-251-21/+23