1
0
mirror of git://sourceware.org/git/lvm2.git synced 2024-12-21 13:34:40 +03:00
LVM2 mirror repository https://sourceware.org/lvm2/
Go to file
Peter Rajnoha e2ecc6c763
reporter: restore report type to initial value after processing report_for_selection
If we are executing 'report_for_selection' to do an internal report
just for the selection itself (not for display), we can call it more
than once. In that case, we are reusing the same selection handle
(e.g. inside 'process_each_lv_in_vg').

The selection handle has 'report_type' field which is a union of all
report types needed for the report based on selection fields we actually
use.

The 'report_type' is further clarified based on checks and rules inside
'_get_final_report_type' which 'report_for_selection' calls. Then, this
final report type unambiguously identifies proper branch to take in
'report_all_in_{pv,vg,lv}' that is called next.

If the 'report_for_selection' is called more than once with the same
selection handle, we need to make sure that we always restore the report
type to its initial value, so all the rules inside 'report_for_selection'
are applied correctly next time.

This patch fixes the missing restoration of the 'report_type' value in
'selection_handle' that is reused for recurring 'report_for_selection'
calls.

An example scenario where this failed was with selecting an LV for
removal with "lvremove --select" while using a field in the selection
that required extra DM info or DM status call for the LV (that is,
"Logical Volume Device Info Fields" and "Logical Volume Device Status Fields"
as visible in 'lvs -S help').
2023-05-31 09:38:11 +02:00
autoconf autoreconf: support newer archs 2022-08-15 13:32:55 +02:00
base gcc: use more zero length arrays 2021-09-22 17:18:50 +02:00
conf vdo: document feature option 2023-05-06 20:38:57 +02:00
coverity cov: drop model for origin_from_cow 2020-09-12 13:23:49 +02:00
daemons cov: hide some false positives 2023-05-10 16:19:46 +02:00
device_mapper cov: hide some false positives 2023-05-10 16:19:46 +02:00
doc doc: fix typos in documentation 2023-01-03 16:09:58 +01:00
include makefiles: avoid piping 2023-02-10 17:50:27 +01:00
lib lvreduce: simplify _lvseg_get_stripes integrity check 2023-05-25 12:09:41 -05:00
libdaemon cov: remove unused headers 2022-07-11 01:18:24 +02:00
libdm cov: hide some false positives 2023-05-10 16:19:46 +02:00
man make: generate 2023-03-21 13:33:14 +01:00
nix lockd: Clean up spec 2015-07-04 14:36:57 +02:00
po makefiles: fix pofile generation 2021-03-02 22:54:40 +01:00
scripts tests: cleanup some shellcheck warns 2023-02-10 17:50:27 +01:00
spec spec: Workaround for failing build 2022-09-20 15:12:44 +02:00
test device_id: ignore trailing underscores in t10 wwid from devices file 2023-05-19 14:05:10 -05:00
tools reporter: restore report type to initial value after processing report_for_selection 2023-05-31 09:38:11 +02:00
udev makefiles: avoid grep 2023-02-23 16:46:35 +01:00
.gitignore gitignore: update 2022-09-07 15:00:15 +02:00
acinclude.m4 acinclude.m4: add local copy of PKG_CHECK_VAR 2023-02-13 14:30:46 +01:00
aclocal.m4 configure: update 2023-04-06 11:06:04 +02:00
configure configure: update 2023-04-06 11:06:04 +02:00
configure.ac configure.ac: print locking dir 2023-04-06 11:06:04 +02:00
COPYING doc: change fsf address 2016-01-21 12:11:37 +01:00
COPYING.BSD Add BSD 2-Clause License 2018-07-27 17:09:46 +02:00
COPYING.LIB Fix inconsistent licence notices: executables are GPLv2; libraries LGPLv2.1. 2007-08-20 20:55:30 +00:00
INSTALL quick review of docs 2008-11-04 17:49:22 +00:00
make.tmpl.in configure: update 2023-02-23 16:46:35 +01:00
Makefile.in makefiles: update doc 2023-02-13 13:41:59 +01:00
README Update README 2020-08-12 12:05:36 +02:00
TESTING doc: fix typos in documentation 2023-01-03 16:09:58 +01:00
VERSION post-release 2023-04-21 10:36:06 +02:00
VERSION_DM post-release 2023-04-21 10:36:06 +02:00
WHATS_NEW reporter: restore report type to initial value after processing report_for_selection 2023-05-31 09:38:11 +02:00
WHATS_NEW_DM post-release 2023-04-21 10:36:06 +02:00

This tree contains the LVM2 and device-mapper tools and libraries.

This is development branch, for stable 2.02 release see stable-2.02 branch.

For more information about LVM2 read the changelog in the WHATS_NEW file.
Installation instructions are in INSTALL.

There is no warranty - see COPYING and COPYING.LIB.

Tarballs are available from:
  ftp://sourceware.org/pub/lvm2/
  https://github.com/lvmteam/lvm2/releases

The source code is stored in git:
  https://sourceware.org/git/?p=lvm2.git
  git clone git://sourceware.org/git/lvm2.git
mirrored to:
  https://github.com/lvmteam/lvm2
  git clone https://github.com/lvmteam/lvm2.git
  git clone git@github.com:lvmteam/lvm2.git

Mailing list for general discussion related to LVM2:
  linux-lvm@redhat.com
  Subscribe from https://www.redhat.com/mailman/listinfo/linux-lvm

Mailing lists for LVM2 development, patches and commits:
  lvm-devel@redhat.com
  Subscribe from https://www.redhat.com/mailman/listinfo/lvm-devel

  lvm2-commits@lists.fedorahosted.org (Read-only archive of commits)
  Subscribe from https://fedorahosted.org/mailman/listinfo/lvm2-commits

Mailing list for device-mapper development, including kernel patches
and multipath-tools:
  dm-devel@redhat.com
  Subscribe from https://www.redhat.com/mailman/listinfo/dm-devel

Website:
  https://sourceware.org/lvm2/

Report upstream bugs at:
  https://bugzilla.redhat.com/enter_bug.cgi?product=LVM%20and%20device-mapper
or open issues at:
  https://github.com/lvmteam/lvm2/issues

The source code repository used until 7th June 2012 is accessible using CVS:

  cvs -d :pserver:cvs@sourceware.org:/cvs/lvm2 login cvs
  cvs -d :pserver:cvs@sourceware.org:/cvs/lvm2 checkout LVM2

The password is cvs.