]> git.proxmox.com Git - pve-storage.git/commitdiff
add info about bluestore to disklist
authorDominik Csapak <d.csapak@proxmox.com>
Fri, 4 Aug 2017 14:32:48 +0000 (16:32 +0200)
committerFabian Grünbichler <f.gruenbichler@proxmox.com>
Mon, 7 Aug 2017 12:52:10 +0000 (14:52 +0200)
this patch adds information about bluestore/db/wal to the disklist,
and we set the journal count only when we have at least one journal on
the disk

also adapt the regression tests

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
PVE/Diskmanage.pm
test/disk_tests/cciss/disklist_expected.json
test/disk_tests/hdd_smart/disklist_expected.json
test/disk_tests/nvme_smart/disklist_expected.json
test/disk_tests/sas/disklist_expected.json
test/disk_tests/ssd_smart/disklist_expected.json
test/disk_tests/usages/disklist_expected.json

index 6dd12f7321b82a4986165c1c24942ea1f5ee5376..e1db2ae67c803af87a031d92bb64810f8000706c 100644 (file)
@@ -209,11 +209,22 @@ sub get_ceph_journals {
     my $journalhash = {};
 
     my $journal_uuid = '45b0969e-9b03-4f30-b4c6-b4b80ceff106';
+    my $db_uuid = '30cd0809-c2b2-499c-8879-2d6b78529876';
+    my $wal_uuid = '5ce17fce-4087-4169-b7ff-056cc58473f9';
+    my $block_uuid = 'cafecafe-9b03-4f30-b4c6-b4b80ceff106';
 
-    dir_glob_foreach('/dev/disk/by-parttypeuuid', "$journal_uuid\..+", sub {
-       my ($entry) = @_;
+    dir_glob_foreach('/dev/disk/by-parttypeuuid', "($journal_uuid|$db_uuid|$wal_uuid|$block_uuid)\..+", sub {
+       my ($entry, $type) = @_;
        my $real_dev = abs_path("/dev/disk/by-parttypeuuid/$entry");
-       $journalhash->{$real_dev} = 1;
+       if ($type eq $journal_uuid) {
+           $journalhash->{$real_dev} = 1;
+       } elsif ($type eq $db_uuid) {
+           $journalhash->{$real_dev} = 2;
+       } elsif ($type eq $wal_uuid) {
+           $journalhash->{$real_dev} = 3;
+       } elsif ($type eq $block_uuid) {
+           $journalhash->{$real_dev} = 4;
+       }
     });
 
     return $journalhash;
@@ -460,8 +471,11 @@ sub get_disks {
        };
 
        my $osdid = -1;
+       my $bluestore = 0;
 
        my $journal_count = 0;
+       my $db_count = 0;
+       my $wal_count = 0;
 
        my $found_partitions;
        my $found_lvm;
@@ -495,7 +509,12 @@ sub get_disks {
                $found_zfs = 1;
            }
 
-           $journal_count++ if $journalhash->{"$partpath/$part"};
+           if ($journalhash->{"$partpath/$part"}) {
+               $journal_count++ if $journalhash->{"$partpath/$part"} == 1;
+               $db_count++ if $journalhash->{"$partpath/$part"} == 2;
+               $wal_count++ if $journalhash->{"$partpath/$part"} == 3;
+               $bluestore = 1 if $journalhash->{"$partpath/$part"} == 4;
+           }
 
            if (!dir_is_empty("$sysdir/$part/holders") && !$found_lvm)  {
                $found_dm = 1;
@@ -515,7 +534,10 @@ sub get_disks {
 
        $disklist->{$dev}->{used} = $used if $used;
        $disklist->{$dev}->{osdid} = $osdid;
-       $disklist->{$dev}->{journals} = $journal_count;
+       $disklist->{$dev}->{journals} = $journal_count if $journal_count;
+       $disklist->{$dev}->{bluestore} = $bluestore if $osdid != -1;
+       $disklist->{$dev}->{db} = $db_count if $db_count;
+       $disklist->{$dev}->{wal} = $wal_count if $wal_count;
     });
 
     return $disklist;
index fb071efa595b78a9b84312e073b5a9919fd98220..61f60bfb75efe82c9c1276dcd69ffcb407307978 100644 (file)
@@ -10,7 +10,6 @@
        "model" : "LOGICAL_VOLUME",
        "size" : 5120,
        "wwn" : "0x0000000000000000",
-       "journals" : 0,
        "gpt" : 1,
        "devpath" : "/dev/cciss/c0d0"
     }
index 7685f5f5dfc8b467239530e86e80c7a04abff3f0..02a341e8cc72250e3afa84e0e7d813009c6eb30b 100644 (file)
@@ -10,7 +10,6 @@
        "health" : "PASSED",
        "type" : "hdd",
        "wwn" : "0x0000000000000000",
-       "journals" : 0,
        "wearout" : "N/A",
        "serial" : "00000000"
     },
@@ -26,7 +25,6 @@
        "vendor" : "ATA",
        "serial" : "00000000",
        "wearout" : "N/A",
-       "journals" : 0,
        "wwn" : "0x0000000000000000"
     }
 }
index ac34d0f055721c0e9eb29085d267a7bbda1c4e04..e50e4a35cd7deb9d03556c51a1fbe62b73f67c30 100644 (file)
@@ -3,7 +3,6 @@
        "wearout" : "N/A",
        "vendor" : "unknown",
        "size" : 512000,
-       "journals" : 0,
        "health" : "PASSED",
        "serial" : "unknown",
        "model" : "NVME MODEL 1",
index 77f7d33315e28d3a7f0b4948065c819751ab9ef0..78147655508ee827295da60023bc91039589be4f 100644 (file)
@@ -6,7 +6,6 @@
        "model" : "MODEL1",
        "health" : "UNKNOWN",
        "osdid" : -1,
-       "journals" : 0,
        "wwn" : "0x0000000000000000",
        "vendor" : "VENDOR1",
        "rpm" : -1,
index 1a89a8477e3efede0e2c68679c63a25dcd85c6d5..d84b9dca9a12b9f7ee008d6822d56ce3e485cc59 100644 (file)
@@ -5,7 +5,6 @@
        "rpm" : 0,
        "gpt" : 1,
        "health" : "PASSED",
-       "journals" : 0,
        "wearout" : "100",
        "osdid" : -1,
        "size" : 512000,
@@ -26,7 +25,6 @@
        "vendor" : "ATA",
        "serial" : "000000000000000000",
        "wearout" : "97",
-       "journals" : 0,
        "health" : "PASSED"
     },
     "sdc" : {
@@ -37,7 +35,6 @@
        "type" : "ssd",
        "size" : 512000,
        "wearout" : "99",
-       "journals" : 0,
        "health" : "PASSED",
        "gpt" : 1,
        "rpm" : 0,
@@ -49,7 +46,6 @@
        "gpt" : 1,
        "serial" : "000000000000",
        "vendor" : "ATA",
-       "journals" : 0,
        "wearout" : "100",
        "health" : "PASSED",
        "devpath" : "/dev/sdd",
@@ -71,7 +67,6 @@
        "gpt" : 1,
        "rpm" : 0,
        "health" : "PASSED",
-       "wearout" : "91",
-       "journals" : 0
+       "wearout" : "91"
     }
 }
index 3d1241c4116c88c26d808b97f55428031b08c4b6..3205bbf294d347300be71dba19deec2099923988 100644 (file)
@@ -5,10 +5,10 @@
        "size" : 1536000,
        "type" : "hdd",
        "osdid" : "444",
+       "bluestore" : "0",
        "health" : "UNKNOWN",
        "model" : "MODEL1",
        "used" : "mounted",
-       "journals" : 0,
        "wearout" : "N/A",
        "wwn" : "0x0000000000000000",
        "devpath" : "/dev/sdf",
@@ -28,7 +28,6 @@
        "type" : "hdd",
        "model" : "MODEL1",
        "used" : "Device Mapper",
-       "journals" : 0,
        "wearout" : "N/A"
     },
     "sdb" : {
@@ -38,7 +37,6 @@
        "devpath" : "/dev/sdb",
        "model" : "MODEL1",
        "used" : "LVM",
-       "journals" : 0,
        "wearout" : "N/A",
        "health" : "UNKNOWN",
        "gpt" : 1,
@@ -50,7 +48,6 @@
     "sda" : {
        "model" : "MODEL1",
        "used" : "mounted",
-       "journals" : 0,
        "wearout" : "N/A",
        "health" : "UNKNOWN",
        "gpt" : 1,
@@ -69,7 +66,6 @@
        "devpath" : "/dev/sdc",
        "wwn" : "0x0000000000000000",
        "used" : "ZFS",
-       "journals" : 0,
        "wearout" : "N/A",
        "model" : "MODEL1",
        "health" : "UNKNOWN",
@@ -81,7 +77,6 @@
     },
     "sdd" : {
        "model" : "MODEL1",
-       "journals" : 0,
        "wearout" : "N/A",
        "health" : "UNKNOWN",
        "size" : 1536000,