LINUX.ORG.RU

Ответ на: комментарий от Ttt

О_о, я и не думал что у них была какая-то монополия :)

annulen ★★★★★
() автор топика

Оказалось, что в config.h

#define HAVE_POSIX_FALLOCATE 1

В config.log обнаружил следующие строки:

conftest.c: In function 'main':
conftest.c:160: warning: implicit declaration of function 'posix_fallocate'
Т.е. posix_fallocate нет, но тест проходит.

annulen ★★★★★
() автор топика
Ответ на: комментарий от Slavaz

После autoreconf -i помогло.

Кстати, в макоси у fcntl есть операция F_PREALLOCATE, которая делает практически то же самое, что и posix_fallocate

annulen ★★★★★
() автор топика
Ответ на: комментарий от akk

Или можно сделать замену для posix_fallocate, как-то так:

int posix_fallocate(int fd, off_t offset, off_t len)
{
    fstore_t fst;
    fst.fst_flags = F_ALLOCATECONTIG;
    fst.fst_posmode = F_PEOFPOSMODE;
    fst.fst_offset = offset;
    fst.fst_length = len;
    fst.fst_bytesalloc = 0;
    return fcntl( fd, F_PREALLOCATE, &fst );
}

annulen ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.