/// <exception cref="System.IO.IOException"/> internal void SerializeINodeSection(OutputStream @out) { INodeMap inodesMap = fsn.dir.GetINodeMap(); FsImageProto.INodeSection.Builder b = FsImageProto.INodeSection.NewBuilder().SetLastInodeId (fsn.dir.GetLastInodeId()).SetNumInodes(inodesMap.Size()); FsImageProto.INodeSection s = ((FsImageProto.INodeSection)b.Build()); s.WriteDelimitedTo(@out); int i = 0; IEnumerator <INodeWithAdditionalFields> iter = inodesMap.GetMapIterator(); while (iter.HasNext()) { INodeWithAdditionalFields n = iter.Next(); Save(@out, n); ++i; if (i % FSImageFormatProtobuf.Saver.CheckCancelInterval == 0) { context.CheckCancelled(); } } parent.CommitSection(summary, FSImageFormatProtobuf.SectionName.Inode); }