Revision b781cce5 block/vmdk.c
b/block/vmdk.c | ||
---|---|---|
740 | 740 |
fd = open(filename, O_WRONLY | O_CREAT | O_TRUNC | O_BINARY | O_LARGEFILE, |
741 | 741 |
0644); |
742 | 742 |
if (fd < 0) |
743 |
return -1;
|
|
743 |
return -errno;
|
|
744 | 744 |
magic = cpu_to_be32(VMDK4_MAGIC); |
745 | 745 |
memset(&header, 0, sizeof(header)); |
746 | 746 |
header.version = cpu_to_le32(1); |
... | ... | |
777 | 777 |
/* write all the data */ |
778 | 778 |
ret = qemu_write_full(fd, &magic, sizeof(magic)); |
779 | 779 |
if (ret != sizeof(magic)) { |
780 |
ret = -1;
|
|
780 |
ret = -errno;
|
|
781 | 781 |
goto exit; |
782 | 782 |
} |
783 | 783 |
ret = qemu_write_full(fd, &header, sizeof(header)); |
784 | 784 |
if (ret != sizeof(header)) { |
785 |
ret = -1;
|
|
785 |
ret = -errno;
|
|
786 | 786 |
goto exit; |
787 | 787 |
} |
788 | 788 |
|
789 | 789 |
ret = ftruncate(fd, header.grain_offset << 9); |
790 | 790 |
if (ret < 0) { |
791 |
ret = -1;
|
|
791 |
ret = -errno;
|
|
792 | 792 |
goto exit; |
793 | 793 |
} |
794 | 794 |
|
... | ... | |
798 | 798 |
i < gt_count; i++, tmp += gt_size) { |
799 | 799 |
ret = qemu_write_full(fd, &tmp, sizeof(tmp)); |
800 | 800 |
if (ret != sizeof(tmp)) { |
801 |
ret = -1;
|
|
801 |
ret = -errno;
|
|
802 | 802 |
goto exit; |
803 | 803 |
} |
804 | 804 |
} |
... | ... | |
809 | 809 |
i < gt_count; i++, tmp += gt_size) { |
810 | 810 |
ret = qemu_write_full(fd, &tmp, sizeof(tmp)); |
811 | 811 |
if (ret != sizeof(tmp)) { |
812 |
ret = -1;
|
|
812 |
ret = -errno;
|
|
813 | 813 |
goto exit; |
814 | 814 |
} |
815 | 815 |
} |
... | ... | |
831 | 831 |
lseek(fd, le64_to_cpu(header.desc_offset) << 9, SEEK_SET); |
832 | 832 |
ret = qemu_write_full(fd, desc, strlen(desc)); |
833 | 833 |
if (ret != strlen(desc)) { |
834 |
ret = -1;
|
|
834 |
ret = -errno;
|
|
835 | 835 |
goto exit; |
836 | 836 |
} |
837 | 837 |
|
Also available in: Unified diff