ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/libeio/eio.c
(Generate patch)

Comparing libeio/eio.c (file contents):
Revision 1.82 by root, Thu Jul 7 15:44:44 2011 UTC vs.
Revision 1.83 by root, Thu Jul 7 22:36:18 2011 UTC

946#endif 946#endif
947 947
948 /* even though we could play tricks with the flags, it's better to always 948 /* even though we could play tricks with the flags, it's better to always
949 * call fdatasync, as that matches the expectation of its users best */ 949 * call fdatasync, as that matches the expectation of its users best */
950 return fdatasync (fd); 950 return fdatasync (fd);
951}
952
953static int
954eio__fallocate (int fd, int mode, off_t offset, size_t nbytes)
955{
956#if HAVE_FALLOCATE
957 return fallocate (fd, offset, nbytes, flags);
958#else
959 errno = ENOSYS;
960 return -1;
961#endif
951} 962}
952 963
953#if !HAVE_READAHEAD 964#if !HAVE_READAHEAD
954# undef readahead 965# undef readahead
955# define readahead(fd,offset,count) eio__readahead (fd, offset, count, self) 966# define readahead(fd,offset,count) eio__readahead (fd, offset, count, self)
1963 case EIO_MSYNC: req->result = eio__msync (req->ptr2, req->size, req->int1); break; 1974 case EIO_MSYNC: req->result = eio__msync (req->ptr2, req->size, req->int1); break;
1964 case EIO_MTOUCH: req->result = eio__mtouch (req); break; 1975 case EIO_MTOUCH: req->result = eio__mtouch (req); break;
1965 case EIO_MLOCK: req->result = eio__mlock (req->ptr2, req->size); break; 1976 case EIO_MLOCK: req->result = eio__mlock (req->ptr2, req->size); break;
1966 case EIO_MLOCKALL: req->result = eio__mlockall (req->int1); break; 1977 case EIO_MLOCKALL: req->result = eio__mlockall (req->int1); break;
1967 case EIO_SYNC_FILE_RANGE: req->result = eio__sync_file_range (req->int1, req->offs, req->size, req->int2); break; 1978 case EIO_SYNC_FILE_RANGE: req->result = eio__sync_file_range (req->int1, req->offs, req->size, req->int2); break;
1979 case EIO_FALLOCATE: req->result = eio__fallocate (req->int1, req->int2, req->offs, req->size); break;
1968 1980
1969 case EIO_READDIR: eio__scandir (req, self); break; 1981 case EIO_READDIR: eio__scandir (req, self); break;
1970 1982
1971 case EIO_BUSY: 1983 case EIO_BUSY:
1972#ifdef _WIN32 1984#ifdef _WIN32
2072eio_req *eio_sync_file_range (int fd, off_t offset, size_t nbytes, unsigned int flags, int pri, eio_cb cb, void *data) 2084eio_req *eio_sync_file_range (int fd, off_t offset, size_t nbytes, unsigned int flags, int pri, eio_cb cb, void *data)
2073{ 2085{
2074 REQ (EIO_SYNC_FILE_RANGE); req->int1 = fd; req->offs = offset; req->size = nbytes; req->int2 = flags; SEND; 2086 REQ (EIO_SYNC_FILE_RANGE); req->int1 = fd; req->offs = offset; req->size = nbytes; req->int2 = flags; SEND;
2075} 2087}
2076 2088
2089eio_req *eio_fallocate (int fd, int mode, off_t offset, size_t len, int pri, eio_cb cb, void *data)
2090{
2091 REQ (EIO_FALLOCATE); req->int1 = fd; req->int2 = mode; req->offs = offset; req->size = len; SEND;
2092}
2093
2077eio_req *eio_fdatasync (int fd, int pri, eio_cb cb, void *data) 2094eio_req *eio_fdatasync (int fd, int pri, eio_cb cb, void *data)
2078{ 2095{
2079 REQ (EIO_FDATASYNC); req->int1 = fd; SEND; 2096 REQ (EIO_FDATASYNC); req->int1 = fd; SEND;
2080} 2097}
2081 2098

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines