diff -Naur ltp-base-20080630/testcases/kernel/fs/doio/doio.c ltp-base-20080630_new/testcases/kernel/fs/doio/doio.c
--- ltp-base-20080630/testcases/kernel/fs/doio/doio.c	2008-06-29 01:49:40.000000000 +0530
+++ ltp-base-20080630_new/testcases/kernel/fs/doio/doio.c	2008-08-21 09:35:13.000000000 +0530
@@ -3716,8 +3716,9 @@
 	int		rval;
 	struct flock	flk;
 	va_list		arglist;
-
-	date = hms(time(0));
+	struct timeval ts;
+	gettimeofday(&ts,NULL);
+	date = hms(ts.tv_sec);
 
 	if (pid == -1) {
 		pid = getpid();
diff -Naur ltp-base-20080630/testcases/kernel/fs/doio/growfiles.c ltp-base-20080630_new/testcases/kernel/fs/doio/growfiles.c
--- ltp-base-20080630/testcases/kernel/fs/doio/growfiles.c	2008-06-29 01:49:40.000000000 +0530
+++ ltp-base-20080630_new/testcases/kernel/fs/doio/growfiles.c	2008-08-21 09:37:17.000000000 +0530
@@ -1114,8 +1114,12 @@
 		/*
 		 * If user didn't specify enough seeds, use default method.
 		 */
-		if ( Forker_npids >= Nseeds ) 
-	    	    Seed=time(0) + Pid;  /* default random seed */
+		if ( Forker_npids >= Nseeds )
+		{
+	    	struct timeval ts;
+			gettimeofday(&ts,NULL);
+			Seed=ts.tv_sec + Pid;  /* default random seed */
+		}
 		else {
 		    Seed=Seeds[Forker_npids];
 		}
@@ -1125,7 +1129,11 @@
 	     * Generate a random seed based on time and pid.
 	     * It has a good chance of being unique for each pid.
 	     */
-	    Seed=time(0) + Pid;  /* default random seed */
+		struct timeval ts;
+		gettimeofday(&ts,NULL);
+	    Seed=ts.tv_sec + Pid;  /* default random seed */
+	    //Seed=time(0) + Pid;  /* default random seed */
+		
 	}
 
 	random_range_seed(Seed);
@@ -1235,7 +1243,12 @@
 /**** end filename stuff ****/
 
 	if ( time_iterval > 0 )
-		start_time=time(0);
+	{	
+		struct timeval ts;
+		gettimeofday(&ts,NULL);
+		start_time=ts.tv_sec;
+		//start_time=time(0);
+	}
 
 	/*
 	 * get space for I/O buffer
@@ -1305,14 +1318,15 @@
 	 * truncated, and closed.   
 	 */
 	for(Iter_cnt=1; ! stop ; Iter_cnt++) {
-
-	    if ( iterations && Iter_cnt >= iterations+1 ) {
+		struct timeval ts;
+	    if ( iterations && (Iter_cnt >= iterations+1) ) {
 		strcpy(reason, "Hit iteration value");
 		stop=1;
 		continue;
 	    }
+		gettimeofday(&ts,NULL);
+	    if (  (time_iterval > 0) && (start_time + time_iterval < ts.tv_sec) ) {
 
-	    if (  (time_iterval > 0) && (start_time + time_iterval < time(0)) ) {
 		sprintf(reason, "Hit time value of %d", time_iterval);
 		stop=1;
 		continue;
diff -Naur ltp-base-20080630/testcases/kernel/fs/doio/iogen.c ltp-base-20080630_new/testcases/kernel/fs/doio/iogen.c
--- ltp-base-20080630/testcases/kernel/fs/doio/iogen.c	2008-06-29 01:49:40.000000000 +0530
+++ ltp-base-20080630_new/testcases/kernel/fs/doio/iogen.c	2008-08-21 09:38:36.000000000 +0530
@@ -44,6 +44,7 @@
 #include <time.h>
 #include <sys/param.h>
 #include <sys/types.h>
+#include <sys/time.h>
 #include <sys/stat.h>
 #include <sys/sysmacros.h>
 #ifdef CRAY
@@ -410,20 +411,23 @@
      */
     if (!q_opt)
 	startup_info(stderr, rseed);
-
-    start_time = time(0);
-
+	{
+    	struct timeval ts;
+		gettimeofday(&ts,NULL);
+		start_time = ts.tv_sec;
+	}
     /*
      * While iterations (or forever if Iterations == 0) - compute an
      * io request, and write the structure to the output descriptor
      */
 
     infinite = !Iterations;
-
+	struct timeval ts;
+	gettimeofday(&ts,NULL);
     while (infinite ||
 	   (! Time_Mode && Iterations--) ||
-	   (Time_Mode && time(0) - start_time <= Iterations)) {
-
+	   (Time_Mode && (ts.tv_sec - start_time <= Iterations))) {
+	gettimeofday(&ts,NULL);
 	memset(&req, 0, sizeof(struct io_req));
 	if (form_iorequest(&req) == -1) {
 	    fprintf(stderr, "iogen%s:  form_iorequest() failed\n", TagName);
diff -Naur ltp-base-20080630/testcases/kernel/fs/doio/rwtest.sh ltp-base-20080630_new/testcases/kernel/fs/doio/rwtest.sh
--- ltp-base-20080630/testcases/kernel/fs/doio/rwtest.sh	2008-06-29 01:49:40.000000000 +0530
+++ ltp-base-20080630_new/testcases/kernel/fs/doio/rwtest.sh	2008-08-21 09:39:11.000000000 +0530
@@ -119,8 +119,10 @@
 	if [ $1 -ne 0 ]
 	then
 	    tst_resm TFAIL "Test failed"
+	    echo "Test failed"
 	else
 	    tst_resm TPASS "Test passed"
+	    echo "Test passed"
 	fi
 
 	exit $1
