def _readRootoid(self): ''' Reads and return oid root from file ''' # unpickle rootoidPath = os.path.join(self._storpath, OidFS.rootoid_filename) fobj = open(rootoidPath, "r") rootoid = cPickle.load(fobj) fobj.close() # If PDSCache in use then convert to coid if rootoid is not oid.OID.Nulloid: rootoid = pdscache.read_oid(rootoid) return rootoid
def gc(self): ''' Garbage collects OidFS's internal Ptrie PStor. Saving only self._rootoid. ''' # Run GC on OID's pstor first. self._collect_pstor() # Save oidfs's _rootoid o = self._rootoid if isinstance(self._rootoid, pdscache._CachedOid): o = pdscache.write_coid(self._rootoid) o, = self._oidPstor.keepOids([o]) o = pdscache.read_oid(o) self._rootoid = o self._writeRootoid()