+Thu Apr 2 19:41:00 BST 2009 Daniel P. Berrange <berrange@redhat.com>
+
+ Mingw portability fixes
+ * src/util.c: Fix virFileResolveLink for Win32 platform.
+ Fix offset usage in safezero for mmap() and write() impls
+ * configure.in: Add check for readlink()
+
Thu Apr 2 15:18:00 CEST 2009 Daniel Veillard <veillard@redhat.com>
* docs/schemas/domain.rng: some missing disk bus values and cleanups
AC_SYS_LARGEFILE
dnl Availability of various common functions (non-fatal if missing).
-AC_CHECK_FUNCS([cfmakeraw regexec uname sched_getaffinity getuid getgid posix_fallocate mmap])
+AC_CHECK_FUNCS([cfmakeraw regexec uname sched_getaffinity getuid getgid posix_fallocate mmap readlink])
dnl Availability of various not common threadsafe functions
AC_CHECK_FUNCS([strerror_r strtok_r getmntent_r getgrnam_r getpwuid_r])
AC_DEFINE_UNQUOTED([WITH_STORAGE_SCSI], 1,
[whether SCSI backend for storage driver is enabled])
- AM_CONDITIONAL([WITH_STORAGE_SCSI], [test "$with_storage_scsi" = "yes"])
fi
+AM_CONDITIONAL([WITH_STORAGE_SCSI], [test "$with_storage_scsi" = "yes"])
LIBPARTED_CFLAGS=
/* memset wants the mmap'ed file to be present on disk so create a
* sparse file
*/
- r = ftruncate(fd, len);
+ r = ftruncate(fd, offset + len);
if (r < 0)
return -errno;
char *buf;
unsigned long long remain, bytes;
+ if (lseek(fd, offset, SEEK_SET) < 0)
+ return errno;
+
/* Split up the write in small chunks so as not to allocate lots of RAM */
remain = len;
bytes = 1024 * 1024;
int virFileResolveLink(const char *linkpath,
char **resultpath)
{
+#ifdef HAVE_READLINK
struct stat st;
char *buf;
int n;
*resultpath = buf;
return 0;
+#else
+ if (!(*resultpath = strdup(linkpath)))
+ return -ENOMEM;
+ return 0;
+#endif
}