mirror of
https://github.com/ipfs/kubo.git
synced 2026-02-24 03:47:45 +08:00
"repo stat": Don't crash when Datastore.StorageMax is not defined
License: MIT Signed-off-by: Kevin Atkinson <k@kevina.org>
This commit is contained in:
parent
1221037a8f
commit
f156f63eed
@ -4,6 +4,7 @@ import (
|
||||
"bytes"
|
||||
"fmt"
|
||||
"io"
|
||||
"math"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"strings"
|
||||
@ -191,11 +192,13 @@ Version string The repo version.
|
||||
} else {
|
||||
fmt.Fprintf(wtr, "RepoSize:\t%d\n", stat.RepoSize)
|
||||
}
|
||||
maxSizeInMiB := stat.StorageMax / (1024 * 1024)
|
||||
if human && maxSizeInMiB > 0 {
|
||||
fmt.Fprintf(wtr, "StorageMax (MiB):\t%d\n", maxSizeInMiB)
|
||||
} else {
|
||||
fmt.Fprintf(wtr, "StorageMax:\t%d\n", stat.StorageMax)
|
||||
if stat.StorageMax != math.MaxUint64 {
|
||||
maxSizeInMiB := stat.StorageMax / (1024 * 1024)
|
||||
if human && maxSizeInMiB > 0 {
|
||||
fmt.Fprintf(wtr, "StorageMax (MiB):\t%d\n", maxSizeInMiB)
|
||||
} else {
|
||||
fmt.Fprintf(wtr, "StorageMax:\t%d\n", stat.StorageMax)
|
||||
}
|
||||
}
|
||||
fmt.Fprintf(wtr, "RepoPath:\t%s\n", stat.RepoPath)
|
||||
fmt.Fprintf(wtr, "Version:\t%s\n", stat.Version)
|
||||
|
||||
@ -2,6 +2,7 @@ package corerepo
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"math"
|
||||
|
||||
context "context"
|
||||
"github.com/ipfs/go-ipfs/core"
|
||||
@ -46,9 +47,12 @@ func RepoStat(n *core.IpfsNode, ctx context.Context) (*Stat, error) {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
storageMax, err := humanize.ParseBytes(cfg.Datastore.StorageMax)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
var storageMax uint64 = math.MaxUint64
|
||||
if cfg.Datastore.StorageMax != "" {
|
||||
storageMax, err = humanize.ParseBytes(cfg.Datastore.StorageMax)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
return &Stat{
|
||||
|
||||
@ -263,4 +263,11 @@ test_expect_success "repo version came out correct" '
|
||||
|
||||
test_kill_ipfs_daemon
|
||||
|
||||
test_expect_success "remove Datastore.StorageMax from config" '
|
||||
ipfs config Datastore.StorageMax ""
|
||||
'
|
||||
test_expect_success "'ipfs repo stat' still succeeds" '
|
||||
ipfs repo stat > repo-stats
|
||||
'
|
||||
|
||||
test_done
|
||||
|
||||
Loading…
Reference in New Issue
Block a user