From a0be5f938f75d4bd2a1b938ef1378d383db53109 Mon Sep 17 00:00:00 2001 From: Jakub Sztandera Date: Fri, 17 Mar 2017 15:47:25 +0100 Subject: [PATCH] Add sbs support License: MIT Signed-off-by: Jakub Sztandera --- package.json | 6 ++++++ repo/fsrepo/datastores.go | 12 ++++++++++++ 2 files changed, 18 insertions(+) diff --git a/package.json b/package.json index 15148ff8d60..ce131893cea 100644 --- a/package.json +++ b/package.json @@ -300,6 +300,12 @@ "hash": "QmaFNtBAXX4nVMQWbUqNysXyhevUj1k4B1y5uS45LC7Vw9", "name": "fuse", "version": "0.1.3" + }, + { + "author": "kubuxu", + "hash": "QmPAFr5hRxsceHEW9ZCkVXRsSSbFdfSvDqz5ancGEeQDzE", + "name": "go-sbs", + "version": "0.1.0" } ], "gxVersion": "0.10.0", diff --git a/repo/fsrepo/datastores.go b/repo/fsrepo/datastores.go index a32a7b8beea..9ef6a210b9f 100644 --- a/repo/fsrepo/datastores.go +++ b/repo/fsrepo/datastores.go @@ -6,6 +6,7 @@ import ( "path/filepath" repo "github.com/ipfs/go-ipfs/repo" + sbs "gx/ipfs/QmPAFr5hRxsceHEW9ZCkVXRsSSbFdfSvDqz5ancGEeQDzE/go-sbs" measure "gx/ipfs/QmNPv1yzXBqxzqjfTzHCeBoicxxZgHzLezdY2hMCZ3r6EU/go-ds-measure" flatfs "gx/ipfs/QmXZEfbEv9sXG9JnLoMNhREDMDgkq5Jd7uWJ7d77VJ4pxn/go-ds-flatfs" @@ -49,6 +50,8 @@ func (r *FSRepo) constructDatastore(params map[string]interface{}) (repo.Datasto case "levelds": return r.openLeveldbDatastore(params) + case "sbs": + return r.openSbsDatastore(params) default: return nil, fmt.Errorf("unknown datastore type: %s", params["type"]) } @@ -124,3 +127,12 @@ func (r *FSRepo) openLeveldbDatastore(params map[string]interface{}) (repo.Datas func (r *FSRepo) openMeasureDB(prefix string, child repo.Datastore) (repo.Datastore, error) { return measure.New(prefix, child), nil } + +func (r *FSRepo) openSbsDatastore(params map[string]interface{}) (repo.Datastore, error) { + p := params["path"].(string) + if !filepath.IsAbs(p) { + p = filepath.Join(r.path, p) + } + + return sbs.NewSbsDS(p) +}