X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=fs%2Fbattfs.c;h=8d02d94f5fcbfacf38ef9fafdaa17e64107c442a;hb=9b45c6171e04b1d312e1c221e0a575b9180157b0;hp=a2a0326e02a8a3a18597c925f3243815477a9b85;hpb=75aa6c9fd80bb9d4bb3dc3ffb001a266915fe14f;p=bertos.git diff --git a/fs/battfs.c b/fs/battfs.c index a2a0326e..8d02d94f 100644 --- a/fs/battfs.c +++ b/fs/battfs.c @@ -319,7 +319,7 @@ bool battfs_init(struct BattFsSuper *disk) { BattFsPageHeader hdr_old; - if (!battfs_readHeader(disk, page, &hdr_old)) + if (!battfs_readHeader(disk, disk->page_array[array_pos], &hdr_old)) return false; #ifdef _DEBUG @@ -339,6 +339,7 @@ bool battfs_init(struct BattFsSuper *disk) pgcnt_t new_page, old_page; fill_t old_fill; + #warning fix seq wraparound! if (hdr.seq > hdr_old.seq) { /* Actual header is newer than the previuos one */ @@ -358,7 +359,7 @@ bool battfs_init(struct BattFsSuper *disk) disk->page_array[array_pos] = new_page; /* Add free space */ - disk->free_bytes -= disk->page_size - sizeof(BattFsPageHeader) - old_fill; + disk->free_bytes += old_fill; /* Shift all array one position to the left, overwriting duplicate page */ array_pos -= hdr.pgoff;