1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-28 01:58:17 +03:00

s3: VFS: default: Remove fallback if we don't have HAVE_PREAD set. Samba doesn't work without pread.

Start of the changes to remove synchronous VFS read.

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
This commit is contained in:
Jeremy Allison 2018-04-30 09:50:04 -07:00 committed by Ralph Boehme
parent bc71cd035c
commit ff3a23e90f

View File

@ -641,28 +641,8 @@ static ssize_t vfswrap_pread(vfs_handle_struct *handle, files_struct *fsp, void
} }
#else /* HAVE_PREAD */ #else /* HAVE_PREAD */
off_t curr; errno = ENOSYS;
int lerrno; result = -1;
curr = SMB_VFS_LSEEK(fsp, 0, SEEK_CUR);
if (curr == -1 && errno == ESPIPE) {
/* Maintain the fiction that pipes can be seeked (sought?) on. */
result = SMB_VFS_READ(fsp, data, n);
fsp->fh->pos = 0;
return result;
}
if (SMB_VFS_LSEEK(fsp, offset, SEEK_SET) == -1) {
return -1;
}
errno = 0;
result = SMB_VFS_READ(fsp, data, n);
lerrno = errno;
SMB_VFS_LSEEK(fsp, curr, SEEK_SET);
errno = lerrno;
#endif /* HAVE_PREAD */ #endif /* HAVE_PREAD */
return result; return result;