[pve-devel] [PATCH-SERIES] partially fix #2285: extend Diskmanage to also list partitions

Fabian Ebner f.ebner at proxmox.com
Tue Jan 26 12:45:16 CET 2021


and fix some other little things along the way (see patches #1, #4, #9).

Mostly re-uses existing functionality, but refactors it, so it can be re-used
for partitions as well. New is the detection of filesystems via lsblk and the
detection of more PVE-relevant partuuids.

In the UI, the current list is replaced by a treepanel including the partitions.

This series does not yet make it possible to select partitons for storage
creation for certain types, which is one of the parts of bug #2285. I felt
like this series was getting rather big already and that there was more
discussion to be had about that and it can always be done as a follow-up series.
The usage of a partition currently always defaults to 'partition'. A good
heuristic to find out when a partition is unused would be needed and/or good
ways to warn the user and ask if they're sure they have the correct partition.
This also ties in to the proposed feature of allowing users to wipe disks under
certain conditions.


storage:

Fabian Ebner (11):
  Disks: return correct journal disk candidates
  Diskmanage: replace closure with direct hash access
  Diskmanage: refactor and rename get_parttype_info
  Diskmanage: also check for filesystem type when determining usage
  Diskmanage: introduce get_sysdir_size helper
  Diskmanage: collect partitions in hash
  Diskmanage: introduce usage helper
  Diskmanage: also detect BIOS boot, EFI and ZFS reserved type
    partitions
  Diskmanage: introduce ceph info helper
  Diskmanage: save OSD information for individual partitions
  Diskmanage: also include partitions with get_disks if flag is set

 PVE/API2/Disks.pm                             |  24 +-
 PVE/Diskmanage.pm                             | 207 +++++++++++-------
 test/disk_tests/usages/disklist               |   1 +
 test/disk_tests/usages/disklist_expected.json |  15 ++
 test/disk_tests/usages/lsblk                  |   7 +-
 test/disk_tests/usages/sdd/sdd1/size          |   1 +
 test/disk_tests/usages/sdd/sdd2/size          |   1 +
 test/disk_tests/usages/sde/sde1/size          |   1 +
 test/disk_tests/usages/sdf/sdf1/size          |   1 +
 test/disk_tests/usages/sdm/sdm1/size          |   1 +
 test/disk_tests/usages/sdm/sdm9/size          |   1 +
 test/disk_tests/usages/sdn/device/vendor      |   1 +
 test/disk_tests/usages/sdn/queue/rotational   |   1 +
 test/disk_tests/usages/sdn/size               |   1 +
 test/disk_tests/usages/sdn_udevadm            |  14 ++
 test/disklist_test.pm                         |  12 +
 16 files changed, 207 insertions(+), 82 deletions(-)
 create mode 100644 test/disk_tests/usages/sdd/sdd1/size
 create mode 100644 test/disk_tests/usages/sdd/sdd2/size
 create mode 100644 test/disk_tests/usages/sde/sde1/size
 create mode 100644 test/disk_tests/usages/sdf/sdf1/size
 create mode 100644 test/disk_tests/usages/sdm/sdm1/size
 create mode 100644 test/disk_tests/usages/sdm/sdm9/size
 create mode 100644 test/disk_tests/usages/sdn/device/vendor
 create mode 100644 test/disk_tests/usages/sdn/queue/rotational
 create mode 100644 test/disk_tests/usages/sdn/size
 create mode 100644 test/disk_tests/usages/sdn_udevadm


manager:

Fabian Ebner (1):
  api: Ceph: add reminder to remove 'disks' call

 PVE/API2/Ceph.pm | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)


widget-toolkit:

Fabian Ebner (2):
  convert disk list to disk tree including the partitions
  move DiskList.js from grid/ to panel/

 src/Makefile                    |  2 +-
 src/{grid => panel}/DiskList.js | 97 ++++++++++++++++++++++++++-------
 2 files changed, 79 insertions(+), 20 deletions(-)
 rename src/{grid => panel}/DiskList.js (72%)

-- 
2.20.1





More information about the pve-devel mailing list