Explorar o código

Invalidate prefetch buffer on writes

Petteri Aimonen %!s(int64=3) %!d(string=hai) anos
pai
achega
e5a7160a81
Modificáronse 1 ficheiros con 6 adicións e 0 borrados
  1. 6 0
      src/AzulSCSI_disk.cpp

+ 6 - 0
src/AzulSCSI_disk.cpp

@@ -484,6 +484,12 @@ static void doWrite(uint32_t lba, uint32_t blocks)
         scsiDev.dataLen = 0;
         scsiDev.dataPtr = 0;
 
+#ifdef PREFETCH_BUFFER_SIZE
+        // Invalidate prefetch buffer
+        g_scsi_prefetch.bytes = 0;
+        g_scsi_prefetch.sector = 0;
+#endif
+
         image_config_t &img = *(image_config_t*)scsiDev.target->cfg;
         if (!img.file.seek(transfer.lba * bytesPerSector))
         {