mirror of
https://github.com/ipfs/kubo.git
synced 2025-07-03 13:00:37 +08:00
Merge pull request #4246 from ipfs/kevina/stat-no-max-storage
"repo stat": Don't crash when Datastore.StorageMax is not defined
This commit is contained in:
@ -191,11 +191,13 @@ Version string The repo version.
|
|||||||
} else {
|
} else {
|
||||||
fmt.Fprintf(wtr, "RepoSize:\t%d\n", stat.RepoSize)
|
fmt.Fprintf(wtr, "RepoSize:\t%d\n", stat.RepoSize)
|
||||||
}
|
}
|
||||||
maxSizeInMiB := stat.StorageMax / (1024 * 1024)
|
if stat.StorageMax != corerepo.NoLimit {
|
||||||
if human && maxSizeInMiB > 0 {
|
maxSizeInMiB := stat.StorageMax / (1024 * 1024)
|
||||||
fmt.Fprintf(wtr, "StorageMax (MiB):\t%d\n", maxSizeInMiB)
|
if human && maxSizeInMiB > 0 {
|
||||||
} else {
|
fmt.Fprintf(wtr, "StorageMax (MiB):\t%d\n", maxSizeInMiB)
|
||||||
fmt.Fprintf(wtr, "StorageMax:\t%d\n", stat.StorageMax)
|
} else {
|
||||||
|
fmt.Fprintf(wtr, "StorageMax:\t%d\n", stat.StorageMax)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
fmt.Fprintf(wtr, "RepoPath:\t%s\n", stat.RepoPath)
|
fmt.Fprintf(wtr, "RepoPath:\t%s\n", stat.RepoPath)
|
||||||
fmt.Fprintf(wtr, "Version:\t%s\n", stat.Version)
|
fmt.Fprintf(wtr, "Version:\t%s\n", stat.Version)
|
||||||
|
@ -2,6 +2,7 @@ package corerepo
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"math"
|
||||||
|
|
||||||
context "context"
|
context "context"
|
||||||
"github.com/ipfs/go-ipfs/core"
|
"github.com/ipfs/go-ipfs/core"
|
||||||
@ -18,6 +19,9 @@ type Stat struct {
|
|||||||
StorageMax uint64 // size in bytes
|
StorageMax uint64 // size in bytes
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// NoLimit represents the value for unlimited storage
|
||||||
|
const NoLimit uint64 = math.MaxUint64
|
||||||
|
|
||||||
func RepoStat(n *core.IpfsNode, ctx context.Context) (*Stat, error) {
|
func RepoStat(n *core.IpfsNode, ctx context.Context) (*Stat, error) {
|
||||||
r := n.Repo
|
r := n.Repo
|
||||||
|
|
||||||
@ -46,9 +50,12 @@ func RepoStat(n *core.IpfsNode, ctx context.Context) (*Stat, error) {
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
storageMax, err := humanize.ParseBytes(cfg.Datastore.StorageMax)
|
storageMax := NoLimit
|
||||||
if err != nil {
|
if cfg.Datastore.StorageMax != "" {
|
||||||
return nil, err
|
storageMax, err = humanize.ParseBytes(cfg.Datastore.StorageMax)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return &Stat{
|
return &Stat{
|
||||||
|
@ -263,4 +263,11 @@ test_expect_success "repo version came out correct" '
|
|||||||
|
|
||||||
test_kill_ipfs_daemon
|
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
|
test_done
|
||||||
|
Reference in New Issue
Block a user