Merge pull request #6441 from dirkmc/fix/block-put-flush-pin

Fix: flush pin on block put
This commit is contained in:
Steven Allen 2019-06-12 09:50:47 -07:00
parent 7c777eb83b
commit a7d3d0318f
2 changed files with 6 additions and 3 deletions

View File

@ -121,10 +121,10 @@ var blockPutCmd = &cmds.Command{
Tagline: "Store input as an IPFS block.",
ShortDescription: `
'ipfs block put' is a plumbing command for storing raw IPFS blocks.
It reads from stdin, and <key> is a base58 encoded multihash.
It reads from stdin, and outputs the block's CID to stdout.
By default CIDv0 is going to be generated. Setting 'mhtype' to anything other
than 'sha2-256' or format to anything other than 'v0' will result in CIDv1.
Unless specified, this command returns dag-pb CIDv0 CIDs. Setting 'mhtype' to anything
other than 'sha2-256' or format to anything other than 'v0' will result in CIDv1.
`,
},

View File

@ -56,6 +56,9 @@ func (api *BlockAPI) Put(ctx context.Context, src io.Reader, opts ...caopts.Bloc
if settings.Pin {
api.pinning.PinWithMode(b.Cid(), pin.Recursive)
if err := api.pinning.Flush(); err != nil {
return nil, err
}
}
return &BlockStat{path: path.IpldPath(b.Cid()), size: len(data)}, nil