diff options
author | Andrew Bartlett <abartlet@samba.org> | 2012-03-28 09:49:48 +1100 |
---|---|---|
committer | Andrew Bartlett <abartlet@samba.org> | 2012-04-05 02:39:08 +0200 |
commit | 473b974a06b209a2c2560d6611ea40498a2c97d5 (patch) | |
tree | 1596d1cc3dbd76fa4e967d8006ec7ef4409ad4f1 /source3/lib | |
parent | b4e58111b9ee66ed279eaf88ee8ec523a17220f1 (diff) | |
download | samba-473b974a06b209a2c2560d6611ea40498a2c97d5.tar.gz samba-473b974a06b209a2c2560d6611ea40498a2c97d5.tar.bz2 samba-473b974a06b209a2c2560d6611ea40498a2c97d5.zip |
build: do not use HAVE_EXPLICIT_LARGEFILE_SUPPORT and *64() fucntions any more
Diffstat (limited to 'source3/lib')
-rw-r--r-- | source3/lib/sendfile.c | 12 | ||||
-rw-r--r-- | source3/lib/system.c | 187 |
2 files changed, 44 insertions, 155 deletions
diff --git a/source3/lib/sendfile.c b/source3/lib/sendfile.c index c2099bc8b1..50b522ed19 100644 --- a/source3/lib/sendfile.c +++ b/source3/lib/sendfile.c @@ -58,11 +58,7 @@ ssize_t sys_sendfile(int tofd, int fromfd, const DATA_BLOB *header, SMB_OFF_T of while (total) { ssize_t nwritten; do { -#if defined(HAVE_EXPLICIT_LARGEFILE_SUPPORT) && defined(HAVE_OFF64_T) && defined(HAVE_SENDFILE64) - nwritten = sendfile64(tofd, fromfd, &offset, total); -#else nwritten = sendfile(tofd, fromfd, &offset, total); -#endif #if defined(EWOULDBLOCK) } while (nwritten == -1 && (errno == EINTR || errno == EAGAIN || errno == EWOULDBLOCK)); #else @@ -229,11 +225,7 @@ ssize_t sys_sendfile(int tofd, int fromfd, const DATA_BLOB *header, SMB_OFF_T of xferred = 0; -#if defined(HAVE_EXPLICIT_LARGEFILE_SUPPORT) && defined(HAVE_OFF64_T) && defined(HAVE_SENDFILEV64) - nwritten = sendfilev64(tofd, vec, sfvcnt, &xferred); -#else nwritten = sendfilev(tofd, vec, sfvcnt, &xferred); -#endif #if defined(EWOULDBLOCK) if (nwritten == -1 && (errno == EINTR || errno == EAGAIN || errno == EWOULDBLOCK)) { #else @@ -307,11 +299,7 @@ ssize_t sys_sendfile(int tofd, int fromfd, const DATA_BLOB *header, SMB_OFF_T of */ do { -#if defined(HAVE_EXPLICIT_LARGEFILE_SUPPORT) && defined(HAVE_OFF64_T) && defined(HAVE_SENDFILE64) - nwritten = sendfile64(tofd, fromfd, offset, total, &hdtrl[0], 0); -#else nwritten = sendfile(tofd, fromfd, offset, total, &hdtrl[0], 0); -#endif #if defined(EWOULDBLOCK) } while (nwritten == -1 && (errno == EINTR || errno == EAGAIN || errno == EWOULDBLOCK)); #else diff --git a/source3/lib/system.c b/source3/lib/system.c index 238f84beea..feb745306a 100644 --- a/source3/lib/system.c +++ b/source3/lib/system.c @@ -117,40 +117,32 @@ ssize_t sys_writev(int fd, const struct iovec *iov, int iovcnt) } /******************************************************************* -A pread wrapper that will deal with EINTR and 64-bit file offsets. +A pread wrapper that will deal with EINTR ********************************************************************/ -#if defined(HAVE_PREAD) || defined(HAVE_PREAD64) +#if defined(HAVE_PREAD) ssize_t sys_pread(int fd, void *buf, size_t count, SMB_OFF_T off) { ssize_t ret; do { -#if defined(HAVE_EXPLICIT_LARGEFILE_SUPPORT) && defined(HAVE_OFF64_T) && defined(HAVE_PREAD64) - ret = pread64(fd, buf, count, off); -#else ret = pread(fd, buf, count, off); -#endif } while (ret == -1 && errno == EINTR); return ret; } #endif /******************************************************************* -A write wrapper that will deal with EINTR and 64-bit file offsets. +A write wrapper that will deal with EINTR ********************************************************************/ -#if defined(HAVE_PWRITE) || defined(HAVE_PWRITE64) +#if defined(HAVE_PWRITE) ssize_t sys_pwrite(int fd, const void *buf, size_t count, SMB_OFF_T off) { ssize_t ret; do { -#if defined(HAVE_EXPLICIT_LARGEFILE_SUPPORT) && defined(HAVE_OFF64_T) && defined(HAVE_PWRITE64) - ret = pwrite64(fd, buf, count, off); -#else ret = pwrite(fd, buf, count, off); -#endif } while (ret == -1 && errno == EINTR); return ret; } @@ -428,15 +420,9 @@ void update_stat_ex_create_time(struct stat_ex *dst, dst->st_ex_calculated_birthtime = false; } -#if defined(HAVE_EXPLICIT_LARGEFILE_SUPPORT) && defined(HAVE_OFF64_T) && defined(HAVE_STAT64) -void init_stat_ex_from_stat (struct stat_ex *dst, - const struct stat64 *src, - bool fake_dir_create_times) -#else void init_stat_ex_from_stat (struct stat_ex *dst, const struct stat *src, bool fake_dir_create_times) -#endif { dst->st_ex_dev = src->st_dev; dst->st_ex_ino = src->st_ino; @@ -470,20 +456,15 @@ void init_stat_ex_from_stat (struct stat_ex *dst, } /******************************************************************* -A stat() wrapper that will deal with 64 bit filesizes. +A stat() wrapper. ********************************************************************/ int sys_stat(const char *fname, SMB_STRUCT_STAT *sbuf, bool fake_dir_create_times) { int ret; -#if defined(HAVE_EXPLICIT_LARGEFILE_SUPPORT) && defined(HAVE_OFF64_T) && defined(HAVE_STAT64) - struct stat64 statbuf; - ret = stat64(fname, &statbuf); -#else struct stat statbuf; ret = stat(fname, &statbuf); -#endif if (ret == 0) { /* we always want directories to appear zero size */ if (S_ISDIR(statbuf.st_mode)) { @@ -495,19 +476,14 @@ int sys_stat(const char *fname, SMB_STRUCT_STAT *sbuf, } /******************************************************************* - An fstat() wrapper that will deal with 64 bit filesizes. + An fstat() wrapper. ********************************************************************/ int sys_fstat(int fd, SMB_STRUCT_STAT *sbuf, bool fake_dir_create_times) { int ret; -#if defined(HAVE_EXPLICIT_LARGEFILE_SUPPORT) && defined(HAVE_OFF64_T) && defined(HAVE_FSTAT64) - struct stat64 statbuf; - ret = fstat64(fd, &statbuf); -#else struct stat statbuf; ret = fstat(fd, &statbuf); -#endif if (ret == 0) { /* we always want directories to appear zero size */ if (S_ISDIR(statbuf.st_mode)) { @@ -519,20 +495,15 @@ int sys_fstat(int fd, SMB_STRUCT_STAT *sbuf, bool fake_dir_create_times) } /******************************************************************* - An lstat() wrapper that will deal with 64 bit filesizes. + An lstat() wrapper. ********************************************************************/ int sys_lstat(const char *fname,SMB_STRUCT_STAT *sbuf, bool fake_dir_create_times) { int ret; -#if defined(HAVE_EXPLICIT_LARGEFILE_SUPPORT) && defined(HAVE_OFF64_T) && defined(HAVE_LSTAT64) - struct stat64 statbuf; - ret = lstat64(fname, &statbuf); -#else struct stat statbuf; ret = lstat(fname, &statbuf); -#endif if (ret == 0) { /* we always want directories to appear zero size */ if (S_ISDIR(statbuf.st_mode)) { @@ -544,13 +515,11 @@ int sys_lstat(const char *fname,SMB_STRUCT_STAT *sbuf, } /******************************************************************* - An posix_fallocate() wrapper that will deal with 64 bit filesizes. + An posix_fallocate() wrapper. ********************************************************************/ int sys_posix_fallocate(int fd, SMB_OFF_T offset, SMB_OFF_T len) { -#if defined(HAVE_EXPLICIT_LARGEFILE_SUPPORT) && defined(HAVE_OFF64_T) && defined(HAVE_POSIX_FALLOCATE64) && !defined(HAVE_BROKEN_POSIX_FALLOCATE) - return posix_fallocate64(fd, offset, len); -#elif defined(HAVE_POSIX_FALLOCATE) && !defined(HAVE_BROKEN_POSIX_FALLOCATE) +#if defined(HAVE_POSIX_FALLOCATE) && !defined(HAVE_BROKEN_POSIX_FALLOCATE) return posix_fallocate(fd, offset, len); #elif defined(F_RESVSP64) /* this handles XFS on IRIX */ @@ -605,9 +574,7 @@ int sys_fallocate(int fd, enum vfs_fallocate_mode mode, SMB_OFF_T offset, SMB_OF errno = EINVAL; return -1; } -#if defined(HAVE_EXPLICIT_LARGEFILE_SUPPORT) && defined(HAVE_OFF64_T) && defined(HAVE_LINUX_FALLOCATE64) - return fallocate64(fd, lmode, offset, len); -#elif defined(HAVE_LINUX_FALLOCATE) +#if defined(HAVE_LINUX_FALLOCATE) return fallocate(fd, lmode, offset, len); #endif #else @@ -618,87 +585,65 @@ int sys_fallocate(int fd, enum vfs_fallocate_mode mode, SMB_OFF_T offset, SMB_OF } /******************************************************************* - An ftruncate() wrapper that will deal with 64 bit filesizes. + An ftruncate() wrapper. ********************************************************************/ int sys_ftruncate(int fd, SMB_OFF_T offset) { -#if defined(HAVE_EXPLICIT_LARGEFILE_SUPPORT) && defined(HAVE_OFF64_T) && defined(HAVE_FTRUNCATE64) - return ftruncate64(fd, offset); -#else return ftruncate(fd, offset); -#endif } /******************************************************************* - An lseek() wrapper that will deal with 64 bit filesizes. + An lseek() wrapper. ********************************************************************/ SMB_OFF_T sys_lseek(int fd, SMB_OFF_T offset, int whence) { -#if defined(HAVE_EXPLICIT_LARGEFILE_SUPPORT) && defined(HAVE_OFF64_T) && defined(HAVE_LSEEK64) - return lseek64(fd, offset, whence); -#else return lseek(fd, offset, whence); -#endif } /******************************************************************* - An ftell() wrapper that will deal with 64 bit filesizes. + An ftell() wrapper. ********************************************************************/ SMB_OFF_T sys_ftell(FILE *fp) { -#if defined(HAVE_EXPLICIT_LARGEFILE_SUPPORT) && defined(LARGE_SMB_OFF_T) && defined(HAVE_FTELL64) - return (SMB_OFF_T)ftell64(fp); -#elif defined(HAVE_EXPLICIT_LARGEFILE_SUPPORT) && defined(LARGE_SMB_OFF_T) && defined(HAVE_FTELLO64) - return (SMB_OFF_T)ftello64(fp); -#else return (SMB_OFF_T)ftell(fp); -#endif } /******************************************************************* - A creat() wrapper that will deal with 64 bit filesizes. + A creat() wrapper. ********************************************************************/ int sys_creat(const char *path, mode_t mode) { -#if defined(HAVE_EXPLICIT_LARGEFILE_SUPPORT) && defined(HAVE_CREAT64) - return creat64(path, mode); +#if defined(HAVE_CREAT) + return creat(path, mode); #else /* - * If creat64 isn't defined then ensure we call a potential open64. - * JRA. + * If creat isn't defined then ensure we call open with the expected flags. + * */ return sys_open(path, O_WRONLY | O_CREAT | O_TRUNC, mode); #endif } /******************************************************************* - An open() wrapper that will deal with 64 bit filesizes. + An open() wrapper. ********************************************************************/ int sys_open(const char *path, int oflag, mode_t mode) { -#if defined(HAVE_EXPLICIT_LARGEFILE_SUPPORT) && defined(HAVE_OPEN64) - return open64(path, oflag, mode); -#else return open(path, oflag, mode); -#endif } /******************************************************************* - An fopen() wrapper that will deal with 64 bit filesizes. + An fopen() wrapper. ********************************************************************/ FILE *sys_fopen(const char *path, const char *type) { -#if defined(HAVE_EXPLICIT_LARGEFILE_SUPPORT) && defined(HAVE_FOPEN64) - return fopen64(path, type); -#else return fopen(path, type); -#endif } @@ -736,29 +681,23 @@ void kernel_flock(int fd, uint32 share_mode, uint32 access_mask) /******************************************************************* - An opendir wrapper that will deal with 64 bit filesizes. + An opendir wrapper. ********************************************************************/ SMB_STRUCT_DIR *sys_opendir(const char *name) { -#if defined(HAVE_EXPLICIT_LARGEFILE_SUPPORT) && defined(HAVE_OPENDIR64) - return opendir64(name); -#else return opendir(name); -#endif } /******************************************************************* - An fdopendir wrapper that will deal with 64 bit filesizes. + An fdopendir wrapper. Ugly hack - we need dirfd for this to work correctly in the calling code.. JRA. ********************************************************************/ SMB_STRUCT_DIR *sys_fdopendir(int fd) { -#if defined(HAVE_EXPLICIT_LARGEFILE_SUPPORT) && defined(HAVE_FDOPENDIR64) && defined(HAVE_DIRFD) - return fdopendir64(fd); -#elif defined(HAVE_FDOPENDIR) && defined(HAVE_DIRFD) +#if defined(HAVE_FDOPENDIR) && defined(HAVE_DIRFD) return fdopendir(fd); #else errno = ENOSYS; @@ -767,82 +706,58 @@ SMB_STRUCT_DIR *sys_fdopendir(int fd) } /******************************************************************* - A readdir wrapper that will deal with 64 bit filesizes. + A readdir wrapper. ********************************************************************/ SMB_STRUCT_DIRENT *sys_readdir(SMB_STRUCT_DIR *dirp) { -#if defined(HAVE_EXPLICIT_LARGEFILE_SUPPORT) && defined(HAVE_READDIR64) - return readdir64(dirp); -#else return readdir(dirp); -#endif } /******************************************************************* - A seekdir wrapper that will deal with 64 bit filesizes. + A seekdir wrapper. ********************************************************************/ void sys_seekdir(SMB_STRUCT_DIR *dirp, long offset) { -#if defined(HAVE_EXPLICIT_LARGEFILE_SUPPORT) && defined(HAVE_SEEKDIR64) - seekdir64(dirp, offset); -#else seekdir(dirp, offset); -#endif } /******************************************************************* - A telldir wrapper that will deal with 64 bit filesizes. + A telldir wrapper. ********************************************************************/ long sys_telldir(SMB_STRUCT_DIR *dirp) { -#if defined(HAVE_EXPLICIT_LARGEFILE_SUPPORT) && defined(HAVE_TELLDIR64) - return (long)telldir64(dirp); -#else return (long)telldir(dirp); -#endif } /******************************************************************* - A rewinddir wrapper that will deal with 64 bit filesizes. + A rewinddir wrapper. ********************************************************************/ void sys_rewinddir(SMB_STRUCT_DIR *dirp) { -#if defined(HAVE_EXPLICIT_LARGEFILE_SUPPORT) && defined(HAVE_REWINDDIR64) - rewinddir64(dirp); -#else rewinddir(dirp); -#endif } /******************************************************************* - A close wrapper that will deal with 64 bit filesizes. + A close wrapper. ********************************************************************/ int sys_closedir(SMB_STRUCT_DIR *dirp) { -#if defined(HAVE_EXPLICIT_LARGEFILE_SUPPORT) && defined(HAVE_CLOSEDIR64) - return closedir64(dirp); -#else return closedir(dirp); -#endif } /******************************************************************* - An mknod() wrapper that will deal with 64 bit filesizes. + An mknod() wrapper. ********************************************************************/ int sys_mknod(const char *path, mode_t mode, SMB_DEV_T dev) { -#if defined(HAVE_MKNOD) || defined(HAVE_MKNOD64) -#if defined(HAVE_EXPLICIT_LARGEFILE_SUPPORT) && defined(HAVE_MKNOD64) && defined(HAVE_DEV64_T) - return mknod64(path, mode, dev); -#else +#if defined(HAVE_MKNOD) return mknod(path, mode, dev); -#endif #else /* No mknod system call. */ errno = ENOSYS; @@ -2429,14 +2344,12 @@ int sys_get_number_of_cores(void) #if defined(WITH_AIO) /******************************************************************* - An aio_read wrapper that will deal with 64-bit sizes. + An aio_read wrapper. ********************************************************************/ int sys_aio_read(SMB_STRUCT_AIOCB *aiocb) { -#if defined(HAVE_EXPLICIT_LARGEFILE_SUPPORT) && defined(HAVE_AIOCB64) && defined(HAVE_AIO_READ64) - return aio_read64(aiocb); -#elif defined(HAVE_AIO_READ) +#if defined(HAVE_AIO_READ) return aio_read(aiocb); #else errno = ENOSYS; @@ -2445,14 +2358,12 @@ int sys_aio_read(SMB_STRUCT_AIOCB *aiocb) } /******************************************************************* - An aio_write wrapper that will deal with 64-bit sizes. + An aio_write wrapper. ********************************************************************/ int sys_aio_write(SMB_STRUCT_AIOCB *aiocb) { -#if defined(HAVE_EXPLICIT_LARGEFILE_SUPPORT) && defined(HAVE_AIOCB64) && defined(HAVE_AIO_WRITE64) - return aio_write64(aiocb); -#elif defined(HAVE_AIO_WRITE) +#if defined(HAVE_AIO_WRITE) return aio_write(aiocb); #else errno = ENOSYS; @@ -2461,14 +2372,12 @@ int sys_aio_write(SMB_STRUCT_AIOCB *aiocb) } /******************************************************************* - An aio_return wrapper that will deal with 64-bit sizes. + An aio_return wrapper. ********************************************************************/ ssize_t sys_aio_return(SMB_STRUCT_AIOCB *aiocb) { -#if defined(HAVE_EXPLICIT_LARGEFILE_SUPPORT) && defined(HAVE_AIOCB64) && defined(HAVE_AIO_RETURN64) - return aio_return64(aiocb); -#elif defined(HAVE_AIO_RETURN) +#if defined(HAVE_AIO_RETURN) return aio_return(aiocb); #else errno = ENOSYS; @@ -2477,14 +2386,12 @@ ssize_t sys_aio_return(SMB_STRUCT_AIOCB *aiocb) } /******************************************************************* - An aio_cancel wrapper that will deal with 64-bit sizes. + An aio_cancel wrapper. ********************************************************************/ int sys_aio_cancel(int fd, SMB_STRUCT_AIOCB *aiocb) { -#if defined(HAVE_EXPLICIT_LARGEFILE_SUPPORT) && defined(HAVE_AIOCB64) && defined(HAVE_AIO_CANCEL64) - return aio_cancel64(fd, aiocb); -#elif defined(HAVE_AIO_CANCEL) +#if defined(HAVE_AIO_CANCEL) return aio_cancel(fd, aiocb); #else errno = ENOSYS; @@ -2493,14 +2400,12 @@ int sys_aio_cancel(int fd, SMB_STRUCT_AIOCB *aiocb) } /******************************************************************* - An aio_error wrapper that will deal with 64-bit sizes. + An aio_error wrapper. ********************************************************************/ int sys_aio_error(const SMB_STRUCT_AIOCB *aiocb) { -#if defined(HAVE_EXPLICIT_LARGEFILE_SUPPORT) && defined(HAVE_AIOCB64) && defined(HAVE_AIO_ERROR64) - return aio_error64(aiocb); -#elif defined(HAVE_AIO_ERROR) +#if defined(HAVE_AIO_ERROR) return aio_error(aiocb); #else errno = ENOSYS; @@ -2509,14 +2414,12 @@ int sys_aio_error(const SMB_STRUCT_AIOCB *aiocb) } /******************************************************************* - An aio_fsync wrapper that will deal with 64-bit sizes. + An aio_fsync wrapper. ********************************************************************/ int sys_aio_fsync(int op, SMB_STRUCT_AIOCB *aiocb) { -#if defined(HAVE_EXPLICIT_LARGEFILE_SUPPORT) && defined(HAVE_AIOCB64) && defined(HAVE_AIO_FSYNC64) - return aio_fsync64(op, aiocb); -#elif defined(HAVE_AIO_FSYNC) +#if defined(HAVE_AIO_FSYNC) return aio_fsync(op, aiocb); #else errno = ENOSYS; @@ -2525,14 +2428,12 @@ int sys_aio_fsync(int op, SMB_STRUCT_AIOCB *aiocb) } /******************************************************************* - An aio_fsync wrapper that will deal with 64-bit sizes. + An aio_fsync wrapper. ********************************************************************/ int sys_aio_suspend(const SMB_STRUCT_AIOCB * const cblist[], int n, const struct timespec *timeout) { -#if defined(HAVE_EXPLICIT_LARGEFILE_SUPPORT) && defined(HAVE_AIOCB64) && defined(HAVE_AIO_SUSPEND64) - return aio_suspend64(cblist, n, timeout); -#elif defined(HAVE_AIO_FSYNC) +#if defined(HAVE_AIO_FSYNC) return aio_suspend(cblist, n, timeout); #else errno = ENOSYS; |