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:
parent
bc71cd035c
commit
ff3a23e90f
@ -641,28 +641,8 @@ static ssize_t vfswrap_pread(vfs_handle_struct *handle, files_struct *fsp, void
|
||||
}
|
||||
|
||||
#else /* HAVE_PREAD */
|
||||
off_t curr;
|
||||
int lerrno;
|
||||
|
||||
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;
|
||||
|
||||
errno = ENOSYS;
|
||||
result = -1;
|
||||
#endif /* HAVE_PREAD */
|
||||
|
||||
return result;
|
||||
|
Loading…
x
Reference in New Issue
Block a user