diff options
Diffstat (limited to 'source3/smbd')
-rw-r--r-- | source3/smbd/predict.c | 6 | ||||
-rw-r--r-- | source3/smbd/reply.c | 2 | ||||
-rw-r--r-- | source3/smbd/server.c | 9 |
3 files changed, 15 insertions, 2 deletions
diff --git a/source3/smbd/predict.c b/source3/smbd/predict.c index 7d6b2498f5..f5f0a2102e 100644 --- a/source3/smbd/predict.c +++ b/source3/smbd/predict.c @@ -23,6 +23,7 @@ extern int DEBUGLEVEL; +#if USE_READ_PREDICTION /* variables used by the read prediction module */ static int rp_fd = -1; @@ -36,7 +37,7 @@ static int rp_timeout = 5; static time_t rp_time = 0; static char *rp_buffer = NULL; static BOOL predict_skip=False; -time_t smb_last_time=(time_t)0; +extern time_t smb_last_time; /**************************************************************************** handle read prediction on a file @@ -156,3 +157,6 @@ void invalidate_read_prediction(int fd) rp_predict_fd = -1; } +#else + void read_prediction_dummy(void) ; +#endif diff --git a/source3/smbd/reply.c b/source3/smbd/reply.c index f437ea564d..9e261a1bd5 100644 --- a/source3/smbd/reply.c +++ b/source3/smbd/reply.c @@ -1722,8 +1722,10 @@ int reply_readbraw(char *inbuf, char *outbuf) int predict=0; _smb_setlen(header,nread); +#if USE_READ_PREDICTION if (!Files[fnum].can_write) predict = read_predict(fd,startpos,header+4,NULL,nread); +#endif if ((nread-predict) > 0) seek_file(fnum,startpos + predict); diff --git a/source3/smbd/server.c b/source3/smbd/server.c index 9b428df44c..88f7497ee5 100644 --- a/source3/smbd/server.c +++ b/source3/smbd/server.c @@ -48,7 +48,7 @@ extern BOOL case_preserve; extern BOOL use_mangled_map; extern BOOL short_case_preserve; extern BOOL case_mangle; -extern time_t smb_last_time; +time_t smb_last_time=(time_t)0; extern int smb_read_error; @@ -1434,7 +1434,10 @@ void close_file(int fnum, BOOL normal_close) uint32 inode = fs_p->fd_ptr->inode; int token; +#if USE_READ_PREDICTION invalidate_read_prediction(fs_p->fd_ptr->fd); +#endif + fs_p->open = False; Connections[cnum].num_files_open--; if(fs_p->wbmpx_ptr) @@ -1972,6 +1975,7 @@ int read_file(int fnum,char *data,uint32 pos,int n) { int ret=0,readret; +#if USE_READ_PREDICTION if (!Files[fnum].can_write) { ret = read_predict(Files[fnum].fd_ptr->fd,pos,data,NULL,n); @@ -1980,6 +1984,7 @@ int read_file(int fnum,char *data,uint32 pos,int n) n -= ret; pos += ret; } +#endif #if USE_MMAP if (Files[fnum].mmap_ptr) @@ -4782,8 +4787,10 @@ static void process(void) if (deadtime <= 0) deadtime = DEFAULT_SMBD_TIMEOUT; +#if USE_READ_PREDICTION if (lp_readprediction()) do_read_prediction(); +#endif errno = 0; |