]> Zhao Yanbai Git Server - minix.git/commitdiff
mfs: minor cleanup of readahead: they can be private to read.c.
authorBen Gras <ben@minix3.org>
Mon, 21 Jun 2010 18:25:04 +0000 (18:25 +0000)
committerBen Gras <ben@minix3.org>
Mon, 21 Jun 2010 18:25:04 +0000 (18:25 +0000)
servers/mfs/glo.h
servers/mfs/main.c
servers/mfs/read.c

index 24f281b355bca84969c2031d56ebc68a478453db..1cfb0355f8cc4d9f71f4b24db8b7fd4317333a57 100644 (file)
@@ -9,9 +9,6 @@
 
 #include <minix/vfsif.h>
 
-EXTERN off_t rdahedpos;                /* position to read ahead */
-EXTERN struct inode *rdahed_inode;     /* pointer to inode to read ahead */
-
 /* The following variables are used for returning results to the caller. */
 EXTERN int err_code;           /* temporary storage for error number */
 EXTERN int rdwt_err;           /* status of last disk i/o request */
index 1f8435679d959585368c8ae148f85fbf7ff3cdf2..61ed8dc7fc0515e97337ba4e6d91cc6abe7805fd 100644 (file)
@@ -67,7 +67,7 @@ PUBLIC int main(int argc, char *argv[])
        fs_m_out.m_type = error; 
        reply(src, &fs_m_out);
 
-       if (error == OK && rdahed_inode != NULL
+       if (error == OK) 
                read_ahead(); /* do block read ahead */
       
   }
index 900502f2af1b6f6f645a102f26e6aa9c9d545ec1..56b129c1e455276ea1f8ebcfc72f52fd0d4095ea 100644 (file)
@@ -20,6 +20,9 @@ FORWARD _PROTOTYPE( int rw_chunk, (struct inode *rip, u64_t position,
 
 PRIVATE char getdents_buf[GETDENTS_BUFSIZ];
 
+PRIVATE off_t rdahedpos;         /* position to read ahead */
+PRIVATE struct inode *rdahed_inode;      /* pointer to inode to read ahead */
+
 /*===========================================================================*
  *                             fs_readwrite                                 *
  *===========================================================================*/
@@ -61,7 +64,7 @@ PUBLIC int fs_readwrite(void)
   nrbytes = (size_t) fs_m_in.REQ_NBYTES;
   
   rdwt_err = OK;               /* set to EIO if disk error occurs */
-  
+
   if (rw_flag == WRITING && !block_spec) {
          /* Check in advance to see if file will grow too big. */
          if (position > (off_t) (rip->i_sp->s_max_size - nrbytes))
@@ -115,7 +118,7 @@ PUBLIC int fs_readwrite(void)
      (regular || mode_word == I_DIRECTORY)) {
          rdahed_inode = rip;
          rdahedpos = position;
-  }
+  } 
 
   rip->i_seek = NO_SEEK;
 
@@ -401,6 +404,9 @@ PUBLIC void read_ahead()
   struct buf *bp;
   block_t b;
 
+  if(!rdahed_inode)
+       return;
+
   rip = rdahed_inode;          /* pointer to inode to read ahead from */
   block_size = get_block_size(rip->i_dev);
   rdahed_inode = NULL; /* turn off read ahead */