[EGD-5097] Fix minor issues with littlefs fuse Fix minor issues with littlefs implementation
3 files changed, 13 insertions(+), 5 deletions(-) M module-vfs/board/linux/purefs/include/purefs/blkdev/disk_image.hpp M module-vfs/board/linux/purefs/src/blkdev/disk_image.cpp M module-vfs/include/user/purefs/blkdev/defs.hpp
M module-vfs/board/linux/purefs/include/purefs/blkdev/disk_image.hpp => module-vfs/board/linux/purefs/include/purefs/blkdev/disk_image.hpp +2 -1
@@ 24,10 24,11 @@ namespace purefs::blkdev auto sync() -> int override; auto status() const -> media_status override; auto get_info(info_type what) const -> scount_t override; auto erase(sector_t lba, std::size_t count) -> int override; private: int m_filedes{-1}; unsigned long m_sectors{0}; std::string m_image_name; }; } // namespace purefs::blkdev \ No newline at end of file } // namespace purefs::blkdev
M module-vfs/board/linux/purefs/src/blkdev/disk_image.cpp => module-vfs/board/linux/purefs/src/blkdev/disk_image.cpp +8 -1
@@ 4,6 4,7 @@ #include <fcntl.h> #include <unistd.h> #include <stdlib.h> #include <cstring> #include <sys/stat.h> namespace purefs::blkdev @@ 55,6 56,12 @@ namespace purefs::blkdev } while (to_write > 0); return 0; } auto disk_image::erase(sector_t lba, std::size_t count) -> int { char buf[count * sector_size]; std::memset(buf, 0xff, count * sector_size); return write(buf, lba, count); } auto disk_image::read(void *buf, sector_t lba, std::size_t count) -> int { auto offs = ::lseek(m_filedes, off_t(lba) * sector_size, SEEK_SET); @@ 100,7 107,7 @@ namespace purefs::blkdev case info_type::sector_count: return m_sectors; case info_type::erase_block: return 0; return 1; } return -1; }
M module-vfs/include/user/purefs/blkdev/defs.hpp => module-vfs/include/user/purefs/blkdev/defs.hpp +3 -3