forked from lix-project/lix
* OpenSolaris compatibility.
This commit is contained in:
parent
0f79ad47c5
commit
1a8f8fd86f
|
@ -302,7 +302,12 @@ struct RestoreSink : ParseSink
|
||||||
#if HAVE_POSIX_FALLOCATE
|
#if HAVE_POSIX_FALLOCATE
|
||||||
if (len) {
|
if (len) {
|
||||||
errno = posix_fallocate(fd, 0, len);
|
errno = posix_fallocate(fd, 0, len);
|
||||||
if (errno) throw SysError(format("preallocating file of %1% bytes") % len);
|
/* Note that EINVAL may indicate that the underlying
|
||||||
|
filesystem doesn't support preallocation (e.g. on
|
||||||
|
OpenSolaris). Since preallocation is just an
|
||||||
|
optimisation, ignore it. */
|
||||||
|
if (errno && errno != EINVAL)
|
||||||
|
throw SysError(format("preallocating file of %1% bytes") % len);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue