1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-31 17:18:04 +03:00

Use VFS operations for file I/O.

Pass files_struct and connection_struct to read_predict() and
do_read_prediction() functions, respectively.
This commit is contained in:
Tim Potter 0001-01-01 00:00:00 +00:00
parent 5051a21061
commit 6479abc5b9

View File

@ -42,7 +42,7 @@ extern time_t smb_last_time;
/****************************************************************************
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);
@ -70,7 +70,7 @@ ssize_t read_predict(int fd,SMB_OFF_T offset,char *buf,char **ptr,size_t num)
/* 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;
@ -95,7 +95,7 @@ ssize_t read_predict(int fd,SMB_OFF_T offset,char *buf,char **ptr,size_t num)
/****************************************************************************
pre-read some data
****************************************************************************/
void do_read_prediction(void)
void do_read_prediction(connection_struct *conn)
{
static size_t readsize = 0;
@ -134,13 +134,13 @@ void do_read_prediction(void)
}
}
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;