[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