Commit 5923540d authored by Whyrusleeping's avatar Whyrusleeping Committed by GitHub

Merge pull request #4305 from leerspace/fix/repo-stat-sym-link

handle sym links in when calculating repo size
parents 8923fdd9 40a9036a
......@@ -637,6 +637,12 @@ func (r *FSRepo) GetStorageUsage() (uint64, error) {
return 0, err
}
pth, err = filepath.EvalSymlinks(pth)
if err != nil {
log.Debugf("filepath.EvalSymlinks error: %s", err)
return 0, err
}
var du uint64
err = filepath.Walk(pth, func(p string, f os.FileInfo, err error) error {
if err != nil {
......
#!/bin/sh
#
# Copyright (c) 2017 John Reed
# MIT Licensed; see the LICENSE file in this repository.
#
test_description="Test 'ipfs repo stat' where IPFS_PATH is a symbolic link"
. lib/test-lib.sh
test_expect_success "create symbolic link for IPFS_PATH" '
mkdir sym_link_target &&
ln -s sym_link_target .ipfs
'
test_init_ipfs
# compare RepoSize when getting it directly vs via symbolic link
test_expect_success "'ipfs repo stat' RepoSize is correct with sym link" '
export IPFS_PATH="sym_link_target" &&
reposize_direct=$(ipfs repo stat | grep RepoSize | awk '\''{ print $2 }'\'') &&
export IPFS_PATH=".ipfs" &&
reposize_symlink=$(ipfs repo stat | grep RepoSize | awk '\''{ print $2 }'\'') &&
test $reposize_symlink -ge $reposize_direct
'
test_done
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment