public virtual void PutDir(FsImageProto.INodeSection.INode p) { Preconditions.CheckState(!dirMap.Contains(p.GetId())); PBImageTextWriter.InMemoryMetadataDB.Dir dir = new PBImageTextWriter.InMemoryMetadataDB.Dir (p.GetId(), p.GetName().ToStringUtf8()); dirMap[p.GetId()] = dir; }
/// <exception cref="System.IO.IOException"/> public virtual string GetParentPath(long inode) { if (inode == INodeId.RootInodeId) { return(string.Empty); } PBImageTextWriter.InMemoryMetadataDB.Dir parent = dirChildMap[inode]; Preconditions.CheckState(parent != null, "Can not find parent directory for INode: %s" , inode); return(parent.GetPath()); }
public virtual void PutDirChild(long parentId, long childId) { PBImageTextWriter.InMemoryMetadataDB.Dir parent = dirMap[parentId]; PBImageTextWriter.InMemoryMetadataDB.Dir child = dirMap[childId]; if (child != null) { child.SetParent(parent); } Preconditions.CheckState(!dirChildMap.Contains(childId)); dirChildMap[childId] = parent; }
private void SetParent(PBImageTextWriter.InMemoryMetadataDB.Dir parent) { Preconditions.CheckState(this.parent == null); this.parent = parent; }