/****************************************************************************
handle read prediction on a file
****************************************************************************/
-ssize_t read_predict(int fd,SMB_OFF_T offset,char *buf,char **ptr,size_t num)
+ssize_t read_predict(files_struct *fsp, int fd,SMB_OFF_T offset,char *buf,char **ptr,size_t num)
{
ssize_t ret = 0;
ssize_t possible = rp_length - (offset - rp_offset);
/* Find the end of the file - ensure we don't
read predict beyond it. */
- if(sys_fstat(fd,&rp_stat) < 0)
+ if(fsp->conn->vfs_ops.fstat(fd,&rp_stat) < 0)
{
DEBUG(0,("read-prediction failed on fstat. Error was %s\n", strerror(errno)));
predict_skip = True;
/****************************************************************************
pre-read some data
****************************************************************************/
-void do_read_prediction(void)
+void do_read_prediction(connection_struct *conn)
{
static size_t readsize = 0;
}
}
- if (sys_lseek(rp_fd,rp_offset,SEEK_SET) != rp_offset) {
+ if (conn->vfs_ops.lseek(rp_fd,rp_offset,SEEK_SET) != rp_offset) {
rp_fd = -1;
rp_predict_fd = -1;
return;
}
- rp_length = read(rp_fd,rp_buffer,rp_predict_length);
+ rp_length = conn->vfs_ops.read(rp_fd,rp_buffer,rp_predict_length);
rp_time = time(NULL);
if (rp_length < 0)
rp_length = 0;