[pve-devel] [PATCH storage] fix #3203: report smart status correctly
Oguz Bektas
o.bektas at proxmox.com
Tue Mar 2 13:33:55 CET 2021
hi,
On Tue, Mar 02, 2021 at 09:34:41AM +0100, Dominik Csapak wrote:
> On 3/1/21 14:56, Oguz Bektas wrote:
> > if the -a option isn't passed, -H might report a failing disk as
> > 'PASSED' even when the disk might be in a corrupted state.
> >
> > Signed-off-by: Oguz Bektas <o.bektas at proxmox.com>
> > ---
> > PVE/Diskmanage.pm | 5 +++--
> > 1 file changed, 3 insertions(+), 2 deletions(-)
> >
> > diff --git a/PVE/Diskmanage.pm b/PVE/Diskmanage.pm
> > index 64bb813..d3c3365 100644
> > --- a/PVE/Diskmanage.pm
> > +++ b/PVE/Diskmanage.pm
> > @@ -95,8 +95,9 @@ sub get_smart_data {
> > or die "failed to get nvme controller device for $disk\n");
> > }
> > - my $cmd = [$SMARTCTL, '-H'];
> > - push @$cmd, '-A', '-f', 'brief' if !$healthonly;
> > + my $cmd = [$SMARTCTL];
> > + push @$cmd, '-H' if $healthonly;
> > + push @$cmd, '-a', '-A', '-f', 'brief' if !$healthonly;
> > push @$cmd, $disk;
> > eval {
> >
>
> after looking at our code, this patch does not solve the issue the
> user in #3203 has
>
> we purposely ignore the return value of smartctl except
> for sever smartctl errors (such as device open failed or faulty command
> line) and parse the status from the text itself
>
> but the text (PASSED) does not change regardless if -H is given or not
>
> the real fix for the issue is to start parsing the smart errors separately
> and show them to the user somehow
hmm yeah you're right, thanks!
>
> while doing this, we should change our parser to use the '--json' flag
> of smartcl
i will take a look. like you also mentioned off-list we do this in
backup server code with the json flag, so it makes sense to do it here
as well
>
>
> _______________________________________________
> pve-devel mailing list
> pve-devel at lists.proxmox.com
> https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
>
>
More information about the pve-devel
mailing list