Esempio n. 1
0
            private static long CalcSize(SparseStream content, ServerSparseExtentHeader header)
            {
                long numDataGrains     = StreamExtent.BlockCount(content.Extents, header.GrainSize * Sizes.Sector);
                long grainTableSectors = Utilities.Ceil(header.NumGTEsPerGT * 4, Sizes.Sector);

                return((grainTableSectors + (numDataGrains * header.GrainSize)) * Sizes.Sector);
            }
        public void TestBlockCount()
        {
            StreamExtent[] s = new StreamExtent[] {
                new StreamExtent(0, 8),
                new StreamExtent(11, 4)
            };

            Assert.Equal(2, StreamExtent.BlockCount(s, 10));

            s = new StreamExtent[] {
                new StreamExtent(0, 8),
                new StreamExtent(9, 8)
            };

            Assert.Equal(2, StreamExtent.BlockCount(s, 10));

            s = new StreamExtent[] {
                new StreamExtent(3, 4),
                new StreamExtent(19, 4),
                new StreamExtent(44, 4)
            };

            Assert.Equal(4, StreamExtent.BlockCount(s, 10));
        }