func datastoreConfig() (config.Datastore, error) { dspath, err := config.DataStorePath("") if err != nil { return config.Datastore{}, err } return config.Datastore{ Path: dspath, Type: "leveldb", StorageMax: "10GB", StorageGCWatermark: 90, // 90% GCPeriod: "1h", }, nil }
}, } var RepoFsckCmd = &cmds.Command{ Helptext: cmds.HelpText{ Tagline: "Removes repo lockfiles.", ShortDescription: ` 'ipfs repo fsck' is a plumbing command that will remove repo and level db lockfiles, as well as the api file. This command can only run when no ipfs daemons are running. `, }, Run: func(req cmds.Request, res cmds.Response) { configRoot := req.InvocContext().ConfigRoot dsPath, err := config.DataStorePath(configRoot) if err != nil { res.SetError(err, cmds.ErrNormal) return } dsLockFile := filepath.Join(dsPath, "LOCK") // TODO: get this lockfile programmatically repoLockFile := filepath.Join(configRoot, lockfile.LockFile) apiFile := filepath.Join(configRoot, "api") // TODO: get this programmatically log.Infof("Removing repo lockfile: %s", repoLockFile) log.Infof("Removing datastore lockfile: %s", dsLockFile) log.Infof("Removing api file: %s", apiFile) err = os.Remove(repoLockFile) if err != nil && !os.IsNotExist(err) {