
case A: There was no pending cache writes.

  case A-1: Before infection...


           VRP                       CacheBlock
           ͻ<Ŀ         ͻ
                                          
                                          
           ĺ     BLK+0C =VRP
       1F4= VRP+x-04                BLK+10 > Buffer
           ĺ                      
 NULL=List= VRP+x+00                BLK+1C =?
           ĺ               BLK+20 =? 
                                           
                                            
           ĺ               BLK+32 =00
     drive= VRP+x+30                       
           ĺ              ͼ  
                      
                      
                      
           ͼ 



  case A-2: After infection...
 

       VRP                               CacheBlock
       ͻ<Ŀ   >>>ͻ
                                           
                                           
       ĺ    ĳĳĳ BLK+0C =VRP
   1F4= VRP+x-04                     BLK+10 > Infected Buffer
       ĺ           ^   ^             
  List= VRP+x+00        BLK+1C =List->Next
       ĺ             BLK+20 =List->Previous
                                               
                                                
       ĺ                       BLK+32 =FF
 drive= VRP+x+30                               
       ĺ                      ͼ  
                 
                 
                  
       ͼ 









case B: There was some pending cache writes.
 
  case B-1: Before infection...


       VRP                CacheBlock 
       ͻ<Ŀ   ͻ 
                     BLK+0C =VRP
                         BLK+10 > Buffer 
       ĺ        BLK+1C =?  
   1F4= VRP+x-04         BLK+20 =?  
       ĺ        BLK+32 =00 
  List= VRP+x+00 Ŀ    ͼ  
       ĺ         
                   v       
                         BLK0        BLK1           BLKn      
       ĺ  >ͻ<Ŀ >ͻ<Ŀ      >ͻ<Ŀ     
 drive= VRP+x+30                > ...    ĳĿ  
       ĺ    ^              <        
                       v ͼ        ͼ           ͼ    v  
                                                             
                     <ĳ  
       ͼ       >     



   case B-2: After infection...


       VRP                           CacheBlock
       ͻ<Ŀ    >ͻ
                    ĳ BLK+0C =VRP                 
                                   BLK+10 > Infected Buffer                      
       ĺ          Next BLK+1C                      
   1F4= VRP+x-04         ^         BLK+20 Previous>Ŀ  
       ĺ                 BLK+32 =FF                 
  List= VRP+x+00 >Ĵ        ͼ                    
       ĺ          v                                    
                                                             v  
                                                               
       ĺ        ^    BLK0       BLK1           BLKn    
 drive= VRP+x+30           >ͻ<Ŀ >ͻ<Ŀ      >ͻ<  
       ĺ                   > ...    Ŀ
                         <            <       
                              ͼ       ͼ           ͼ     v
                                                                 
       ͼ        <
                   
                                    


