mariadb/linux/file.c
Bradley C. Kuszmaul 85f355d631 Improve error messages and error handling when writes fail.
* Fixes #78 ({{{lg_bsize}}} works)
 * Fixes #1323 (write errors)
Did
{{{
svn merge -r8967:9031 https://svn.tokutek.com/tokudb/toku/tokudb.1323a
}}}

(And I'll delete the 1323 branches in a moment.)


git-svn-id: file:///svn/toku/tokudb@9032 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:38 -04:00

25 lines
581 B
C

#include <unistd.h>
static ssize_t (*t_pwrite)(int, const void *, size_t, off_t) = 0;
static ssize_t (*t_write)(int, const void *, size_t) = 0;
int toku_set_func_pwrite (ssize_t (*pwrite_fun)(int, const void *, size_t, off_t)) {
t_pwrite = pwrite_fun;
return 0;
}
int toku_set_func_write (ssize_t (*write_fun)(int, const void *, size_t)) {
t_write = write_fun;
return 0;
}
ssize_t
toku_os_pwrite (int fd, const void *buf, size_t len, off_t off)
{
if (t_pwrite) {
return t_pwrite(fd, buf, len, off);
} else {
return pwrite(fd, buf, len, off);
}
}