From 2fbb504b66509668d95d49ef94cbd475f16587ea Mon Sep 17 00:00:00 2001 From: Nick Craig-Wood Date: Thu, 14 Mar 2019 21:19:47 +0000 Subject: [PATCH] webdav: fix About/df when reading the available/total returns 0 Some WebDAV servers return an empty Available and Used which parses as 0. This caused About to return the Total as 0 which can confused mounted file systems. After this change we ignore the result if Available and Used are both 0. See: https://forum.rclone.org/t/windows-mounted-webdav-drive-has-no-free-space/8938 --- backend/webdav/webdav.go | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/backend/webdav/webdav.go b/backend/webdav/webdav.go index 96b8a053b..de1e9f3b3 100644 --- a/backend/webdav/webdav.go +++ b/backend/webdav/webdav.go @@ -916,11 +916,13 @@ func (f *Fs) About() (*fs.Usage, error) { return nil, errors.Wrap(err, "about call failed") } usage := &fs.Usage{} - if q.Available >= 0 && q.Used >= 0 { - usage.Total = fs.NewUsageValue(q.Available + q.Used) - } - if q.Used >= 0 { - usage.Used = fs.NewUsageValue(q.Used) + if q.Available != 0 || q.Used != 0 { + if q.Available >= 0 && q.Used >= 0 { + usage.Total = fs.NewUsageValue(q.Available + q.Used) + } + if q.Used >= 0 { + usage.Used = fs.NewUsageValue(q.Used) + } } return usage, nil }