#include <cfg/macros.h> /* MIN, MAX */
#include <cpu/byteorder.h> /* cpu_to_xx */
-#define LOG_LEVEL LOG_LVL_WARNING
+#define LOG_LEVEL LOG_LVL_INFO
#define LOG_FORMAT LOG_FMT_VERBOSE
#include <cfg/log.h>
{
if (disk->cache_dirty)
{
- TRACE;
+ LOG_INFO("Flushing to disk page %d\n", disk->curr_page);
+ if (!disk->erase(disk, disk->curr_page))
+ return false;
+
if (!disk->save(disk, disk->curr_page))
return false;
disk->cache_dirty = false;
*/
static bool battfs_loadPage(struct BattFsSuper *disk, pgcnt_t new_page)
{
+ LOG_INFO("Loading page %d\n", new_page);
if (disk->curr_page == new_page)
return true;
- if (battfs_flushBuffer(disk))
+ if (!battfs_flushBuffer(disk))
return false;
if (!disk->load(disk, new_page))
- return false;
+ return false;
+
disk->curr_page = new_page;
return true;
}
static pgcnt_t *findFile(BattFsSuper *disk, inode_t inode)
{
BattFsPageHeader hdr;
- pgcnt_t first = 0, page, last = disk->page_count -1;
+ pgcnt_t first = 0, page, last = disk->free_page_start;
fcs_t fcs;
- while (first <= last)
+ while (first < last)
{
page = (first + last) / 2;