--- qemu-kvm-0.11.0~rc2.orig/block/raw-posix.c +++ qemu-kvm-0.11.0~rc2/block/raw-posix.c @@ -867,7 +867,12 @@ if (fd < 0) { result = -errno; } else { - if (ftruncate(fd, total_size * 512) != 0) { + struct stat stat; + if (!fstat(fd,&stat)) { + result = -errno; + } + if ((stat.st_mode & S_IFREG) && + (ftruncate(fd, total_size * 512) != 0)) { result = -errno; } if (close(fd) != 0) {