[問題] linux file system

作者: XAMDOU (薩姆德)   2021-01-18 18:56:03
手上拿到的一個 device 有自己的 low-level RAM IO 的 C SDK
然後實作上透過 FatFs 模擬 FAT file partition
這個 partition 可以有兩種途徑讀寫資料
1. native linux file operation
2. C SDK(with FatFs)
有一個 case 是在不 remount 的情況下
透過 C SDK 去修改 partition 上面的檔案
然後在 call ioctl("/dev/sda1", BLKFLSBUF, 0) 去更新之後
在從 linux mount point 用 ls 去看有沒有變化
現在遇到一個問題是,在不一樣的 kernel 版本跑起來的狀況不太一樣
請問這個問題要怎麼追比較好呢?
我這邊目前懷疑是有 inode 的 target 沒有更新到 os 這邊(不確定說法正不正確)
而透過ioctl + BLKFLSBUF 不見得能夠達成更新的效果
有什麼 tool 或是指令比較適合追這個問題?
平台:一般 linux server/desktop 平台
作者: XAMDOU (薩姆德)   2021-01-18 18:57:00
補充一下,介面是 USB
作者: bamchisu (suchi)   2021-01-18 23:35:00
df -i 可以看inode數目,你可以先照你的方法弄很多之檔案,然後用df -i看一下OS那邊inode數目有沒有改,確認是否為inode問題再來切換kernel版本/boot partition弄大一點一次多compile幾個kernel方便你切換以上純屬小弟建議,有錯請前輩指正

Links booklink

Contact Us: admin [ a t ] ucptt.com