diff --git a/client/site_tests/hardware_StorageTrim/hardware_StorageTrim.py b/client/site_tests/hardware_StorageTrim/hardware_StorageTrim.py
index bd947fc..a581e8e 100644
--- a/client/site_tests/hardware_StorageTrim/hardware_StorageTrim.py
+++ b/client/site_tests/hardware_StorageTrim/hardware_StorageTrim.py
@@ -40,6 +40,7 @@
 
         # Use fio to fill device first.
         self.job.run_test('hardware_StorageFio',
+                          disable_sysinfo=True,
                           dev=dev,
                           filesize=0,
                           requirements=[('disk_fill', [])],
@@ -53,6 +54,7 @@
 
         # Check write performance
         self.job.run_test('hardware_StorageFio',
+                          disable_sysinfo=True,
                           dev=dev,
                           filesize=0,
                           requirements=requirements,
@@ -65,6 +67,7 @@
 
         # Check write performance
         self.job.run_test('hardware_StorageFio',
+                          disable_sysinfo=True,
                           dev=dev,
                           filesize=0,
                           requirements=requirements,
diff --git a/client/site_tests/hardware_TrimIntegrity/hardware_TrimIntegrity.py b/client/site_tests/hardware_TrimIntegrity/hardware_TrimIntegrity.py
index 8b21246..6497cf4 100644
--- a/client/site_tests/hardware_TrimIntegrity/hardware_TrimIntegrity.py
+++ b/client/site_tests/hardware_TrimIntegrity/hardware_TrimIntegrity.py
@@ -159,6 +159,7 @@
 
         # Check read speed/latency when reading real data.
         self.job.run_test('hardware_StorageFio',
+                          disable_sysinfo=True,
                           filesize=fio_file_size,
                           requirements=[('4k_read_qd32', [])],
                           tag='before_trim')
@@ -225,6 +226,7 @@
 
         # Check read speed/latency when reading from trimmed data.
         self.job.run_test('hardware_StorageFio',
+                          disable_sysinfo=True,
                           filesize=fio_file_size,
                           requirements=[('4k_read_qd32', [])],
                           tag='after_trim')
diff --git a/server/site_tests/hardware_StorageQualBase/hardware_StorageQualBase.py b/server/site_tests/hardware_StorageQualBase/hardware_StorageQualBase.py
index 8e3c00d..3ab62e9 100644
--- a/server/site_tests/hardware_StorageQualBase/hardware_StorageQualBase.py
+++ b/server/site_tests/hardware_StorageQualBase/hardware_StorageQualBase.py
@@ -50,11 +50,13 @@
         client = hosts.create_host(client_ip)
         client_at = autotest.Autotest(client)
         for test_name, argv in self.CLIENT_FUNCTIONAL_TESTS:
-            client_at.run_test(test_name, tag=client_tag, **argv)
+            client_at.run_test(test_name, disable_sysinfo=True, tag=client_tag,
+                               **argv)
 
         # Test real life performance
         for script in self.CRYPTO_TESTS:
             client_at.run_test('platform_CryptohomeFio',
+                disable_sysinfo=True,
                 from_internal_disk_only=True,
                 script=script,
                 tag='_'.join([client_tag, script]),
diff --git a/server/site_tests/hardware_StorageQualSuspendStress/hardware_StorageQualSuspendStress.py b/server/site_tests/hardware_StorageQualSuspendStress/hardware_StorageQualSuspendStress.py
index c82dbfe..9fc7407 100644
--- a/server/site_tests/hardware_StorageQualSuspendStress/hardware_StorageQualSuspendStress.py
+++ b/server/site_tests/hardware_StorageQualSuspendStress/hardware_StorageQualSuspendStress.py
@@ -18,8 +18,8 @@
         control = """job.parallel(
             [lambda: job.run_test('power_SuspendStress', tag='disk',
                 duration=%d, init_delay=10, min_suspend=7)],
-            [lambda: job.run_test('hardware_StorageFio',
-                requirements=[('write_stress', [])], test_length=%d+30,
+            [lambda: job.run_test('hardware_StorageFio', test_length=%d+30,
+                disable_sysinfo=True, requirements=[('write_stress', [])],
                 tag='qual_suspend')])""" % (duration, duration-30)
         client_at.run(control, '.', None)
 
diff --git a/server/site_tests/hardware_StorageQualTrimStress/hardware_StorageQualTrimStress.py b/server/site_tests/hardware_StorageQualTrimStress/hardware_StorageQualTrimStress.py
index 080edf3..7551e10 100644
--- a/server/site_tests/hardware_StorageQualTrimStress/hardware_StorageQualTrimStress.py
+++ b/server/site_tests/hardware_StorageQualTrimStress/hardware_StorageQualTrimStress.py
@@ -18,6 +18,7 @@
             [lambda: job.run_test('power_SuspendStress', tag='disk',
                 duration=%d, init_delay=10, min_suspend=7)],
             [lambda: job.run_test('hardware_TrimIntegrity', test_length=%d+30,
+                disable_sysinfo=True,
                 tag='qual_trim')])""" % (duration, duration-30)
         client_at.run(control, '.', None)
 
diff --git a/server/site_tests/hardware_StorageStress/hardware_StorageStress.py b/server/site_tests/hardware_StorageStress/hardware_StorageStress.py
index 8e825d3..61f2a79 100644
--- a/server/site_tests/hardware_StorageStress/hardware_StorageStress.py
+++ b/server/site_tests/hardware_StorageStress/hardware_StorageStress.py
@@ -154,8 +154,8 @@
         Write test data to host using hardware_StorageFio
         """
         logging.info('_write_data')
-        self._client_at.run_test('hardware_StorageFio', wait=0,
-            tag='%s_%d' % ('write_data', self._loop_count),
+        self._client_at.run_test('hardware_StorageFio', disable_sysinfo=True,
+            wait=0, tag='%s_%d' % ('write_data', self._loop_count),
             requirements=[(self._FIO_REQUIREMENT_FILE, self._FIO_WRITE_FLAGS)])
         self._check_client_test_result(self._client)
 
@@ -164,8 +164,8 @@
         Verify test data using hardware_StorageFio
         """
         logging.info(str('_verify_data #%d' % self._loop_count))
-        self._client_at.run_test('hardware_StorageFio', wait=0,
-            tag='%s_%d' % ('verify_data', self._loop_count),
+        self._client_at.run_test('hardware_StorageFio', disable_sysinfo=True,
+            wait=0, tag='%s_%d' % ('verify_data', self._loop_count),
             requirements=[(self._FIO_REQUIREMENT_FILE, self._FIO_VERIFY_FLAGS)])
         self._check_client_test_result(self._client)
 
@@ -179,18 +179,21 @@
 
         # use the default requirement that write different pattern arround.
         self._client_at.run_test('hardware_StorageFio',
+                                 disable_sysinfo=True,
                                  tag='%s_%d' % ('soak', self._loop_count),
                                  requirements=[('64k_stress', [])],
                                  time_length=self._soak_time)
         self._check_client_test_result(self._client)
 
         self._client_at.run_test('hardware_StorageFio',
+                                 disable_sysinfo=True,
                                  tag='%s_%d' % ('surf', self._loop_count),
                                  requirements=[('surfing', [])],
                                  time_length=self._soak_time)
         self._check_client_test_result(self._client)
 
         self._client_at.run_test('hardware_StorageFio',
+                                 disable_sysinfo=True,
                                  tag='%s_%d' % ('integrity', self._loop_count),
                                  wait=0, integrity=True)
         self._check_client_test_result(self._client)
