public void VirtualDiskMirror_Synchronous()
        {
            string vhdxpath = Path.Combine(Environment.CurrentDirectory, "testvhdx.vhdx");

            if (File.Exists(vhdxpath))
            {
                File.Delete(vhdxpath);
            }

            string mirrorpath = Path.Combine(Environment.CurrentDirectory, "testmirror.vhdx");

            if (File.Exists(mirrorpath))
            {
                File.Delete(mirrorpath);
            }

            // Create an 8MB virtual disk with a non-standard block size
            VirtualDiskCreateParameters createparams = new VirtualDiskCreateParameters(vhdxpath, VirtualDiskType.VHDX, 8 * 1024 * 1024);

            createparams.BlockSize = 1024 * 1024;

            using (VirtualDisk vdisk = VirtualDisk.Create(createparams))
            {
                Assert.IsNotNull(vdisk);
                vdisk.Mirror(mirrorpath);
            }

            // Open the mirror and ensure that the virtual size and block size match the source
            using (VirtualDisk mirror = VirtualDisk.Open(mirrorpath))
            {
                Assert.IsNotNull(mirror);
                Assert.AreEqual((ulong)8 * 1024 * 1024, mirror.VirtualSize);
                Assert.AreEqual((ulong)1024 * 1024, mirror.BlockSize);
            }
        }
Example #2
0
        public async Task VirtualDiskCreate_Asynchronous()
        {
            string vhdxpath = Path.Combine(Environment.CurrentDirectory, "testvhdx.vhdx");

            if (File.Exists(vhdxpath))
            {
                File.Delete(vhdxpath);
            }

            var createparams = new VirtualDiskCreateParameters(vhdxpath, VirtualDiskType.VHDX, 4 * 1024 * 1024);

            using (VirtualDisk vdisk = await VirtualDisk.CreateAsync(createparams, CancellationToken.None, null))
            {
                Assert.IsNotNull(vdisk);
            }
        }