Fix: Recover does not pin recursively

License: MIT
Signed-off-by: Hector Sanjuan <code@hector.link>
This commit is contained in:
Hector Sanjuan 2018-03-27 00:42:38 +02:00
parent da1ef2a7d1
commit 4de7cb0ed6

View File

@ -404,9 +404,11 @@ func (mpt *MapPinTracker) Recover(c *cid.Cid) (api.PinInfo, error) {
var err error var err error
switch p.Status { switch p.Status {
case api.TrackerStatusPinError: case api.TrackerStatusPinError:
err = mpt.pin(api.Pin{Cid: c}) // FIXME: This always recovers recursive == true
// but sharding will bring direct-pin objects
err = mpt.pin(api.PinCid(c))
case api.TrackerStatusUnpinError: case api.TrackerStatusUnpinError:
err = mpt.unpin(api.Pin{Cid: c}) err = mpt.unpin(api.PinCid(c))
default: default:
logger.Warningf("%s does not need recovery. Try syncing first", c) logger.Warningf("%s does not need recovery. Try syncing first", c)
return p, nil return p, nil