[Tinyos-2-commits] CVS: tinyos-2.x/tos/chips/at45db LogStorageP.nc, 1.1.2.17, 1.1.2.18

David Gay idgay at users.sourceforge.net
Fri Sep 22 15:00:13 PDT 2006


Update of /cvsroot/tinyos/tinyos-2.x/tos/chips/at45db
In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv16957/tos/chips/at45db

Modified Files:
      Tag: tinyos-2_0_devel-BRANCH
	LogStorageP.nc 
Log Message:
add recordsLost "result" to appendDone event


Index: LogStorageP.nc
===================================================================
RCS file: /cvsroot/tinyos/tinyos-2.x/tos/chips/at45db/LogStorageP.nc,v
retrieving revision 1.1.2.17
retrieving revision 1.1.2.18
diff -C2 -d -r1.1.2.17 -r1.1.2.18
*** LogStorageP.nc	15 Aug 2006 11:59:08 -0000	1.1.2.17
--- LogStorageP.nc	22 Sep 2006 22:00:09 -0000	1.1.2.18
***************
*** 199,202 ****
--- 199,203 ----
    uint8_t client = NO_CLIENT;
    uint8_t metaState;
+   bool recordsLost;
    at45page_t firstPage, lastPage;
    storage_len_t len;
***************
*** 314,318 ****
        {
        case R_ERASE: signal LogWrite.eraseDone[c](ok); break;
!       case R_APPEND: signal LogWrite.appendDone[c](ptr, actualLen, ok); break;
        case R_SYNC: signal LogWrite.syncDone[c](ok); break;
        case R_READ: signal LogRead.readDone[c](ptr, actualLen, ok); break;
--- 315,319 ----
        {
        case R_ERASE: signal LogWrite.eraseDone[c](ok); break;
!       case R_APPEND: signal LogWrite.appendDone[c](ptr, actualLen, recordsLost, ok); break;
        case R_SYNC: signal LogWrite.syncDone[c](ok); break;
        case R_READ: signal LogRead.readDone[c](ptr, actualLen, ok); break;
***************
*** 594,597 ****
--- 595,602 ----
      len -= count;
  
+     /* We lose data at the point we make the first write to a page */
+     if (offset == 0)
+       recordsLost = TRUE;
+ 
      call At45db.write(s[client].wpage, offset, buf, count);
    }
***************
*** 618,621 ****
--- 623,628 ----
      storage_len_t vlen = (storage_len_t)npages() * PAGE_SIZE;
  
+     recordsLost = FALSE;
+ 
      /* If request would span the end of the flash, sync, to maintain the
         invariant that the last flash page is synced and that either
***************
*** 727,731 ****
  	else
  	  {
! 	    /* resume writing at the beginning of the first page */
  	    s[client].rvalid = TRUE;
  	    s[client].rpage = lastVolumePage() - 1;
--- 734,738 ----
  	else
  	  {
! 	    /* resume reading at the beginning of the first page */
  	    s[client].rvalid = TRUE;
  	    s[client].rpage = lastVolumePage() - 1;
***************
*** 968,972 ****
    event void At45db.copyPageDone(error_t error) { }
  
!   default event void LogWrite.appendDone[uint8_t logId](void* buf, storage_len_t l, error_t error) { }
    default event void LogWrite.eraseDone[uint8_t logId](error_t error) { }
    default event void LogWrite.syncDone[uint8_t logId](error_t error) { }
--- 975,979 ----
    event void At45db.copyPageDone(error_t error) { }
  
!   default event void LogWrite.appendDone[uint8_t logId](void* buf, storage_len_t l, bool rLost, error_t error) { }
    default event void LogWrite.eraseDone[uint8_t logId](error_t error) { }
    default event void LogWrite.syncDone[uint8_t logId](error_t error) { }



More information about the Tinyos-2-commits mailing list