also disable read prediction in 1.9.18
authorAndrew Tridgell <tridge@samba.org>
Mon, 27 Oct 1997 13:38:07 +0000 (13:38 +0000)
committerAndrew Tridgell <tridge@samba.org>
Mon, 27 Oct 1997 13:38:07 +0000 (13:38 +0000)
(This used to be commit 0f15558efb26b7215540a588dfe8733e9346d407)

source3/include/local.h
source3/smbd/predict.c
source3/smbd/reply.c
source3/smbd/server.c

index a218dd8fc6755440044b67bc3d58fb1d9d3cd6ed..c1f1de2132b8fbb7ee015d0cb0c40862664da048 100644 (file)
 
 #define OPLOCK_BREAK_TIMEOUT 30
 
+
+/* the read preciction code has been disabled until some problems with
+   it are worked out */
+#define USE_READ_PREDICTION 0
+
 #endif
index 7d6b2498f5af00a00a50494c70228a5966a70e04..f5f0a2102e307a7ca8a3607c2c0389e246b47a41 100644 (file)
@@ -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
index f437ea564dea83db9d217333f6c7044a6331154a..9e261a1bd5fbfc50da33d92ff9818cb7d01d6c78 100644 (file)
@@ -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);
index 9b428df44cebecda97ad10d51a935e91594d674d..88f7497ee532befcbea9d9fd18d48ed025cfa2b5 100644 (file)
@@ -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;