Switch to new disk write interface:the disk should now supply the write buffer.
[bertos.git] / bertos / fs / battfs.c
index 6253af88b8f37a875dca6bd11a5c4ecfb55e044a..59b03ae4f6eb0c4b846c15e4c57475e0400df0fd 100644 (file)
@@ -156,8 +156,8 @@ static bool battfs_writeHeader(struct BattFsSuper *disk, pgcnt_t page, struct Ba
         * Header is actually a footer, and so
         * resides at page end.
         */
-       if (disk->write(disk, page, disk->page_size - BATTFS_HEADER_LEN, buf, BATTFS_HEADER_LEN)
-           != BATTFS_HEADER_LEN)
+       if (!(disk->bufferWrite(disk, disk->page_size - BATTFS_HEADER_LEN, buf, BATTFS_HEADER_LEN)
+           == BATTFS_HEADER_LEN && disk->save(disk, page)))
        {
                LOG_ERR("Error: page[%d]\n", page);
                return false;
@@ -363,7 +363,9 @@ bool battfs_init(struct BattFsSuper *disk)
 
        /* Disk open must set all of these */
        ASSERT(disk->read);
-       ASSERT(disk->write);
+       ASSERT(disk->load);
+       ASSERT(disk->bufferWrite);
+       ASSERT(disk->save);
        ASSERT(disk->erase);
        ASSERT(disk->close);
        ASSERT(disk->page_size);