- 
                Notifications
    You must be signed in to change notification settings 
- Fork 5.3k
[dfs][elmfat] Update elm-fatfs to R0.16 with separated RT-Thread modifications #10864
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
| 
 | 
Co-authored-by: BernardXiong <[email protected]>
Co-authored-by: BernardXiong <[email protected]>
Co-authored-by: BernardXiong <[email protected]>
| 📌 Code Review Assignment🏷️ Tag: componentsReviewers: Maihuanyi Changed Files (Click to expand)
 📊 Current Review Status (Last Updated: 2025-10-29 19:34 CST)
 📝 Review Instructions
 
 | 
Co-authored-by: BernardXiong <[email protected]>
Co-authored-by: BernardXiong <[email protected]>
Co-authored-by: BernardXiong <[email protected]>
Co-authored-by: BernardXiong <[email protected]>
Co-authored-by: BernardXiong <[email protected]>
| @copilot 修改并不彻底,报错了: 原来的dfs_v1移植的elmfat中并未实现  
 | 
Co-authored-by: BernardXiong <[email protected]>
| 
 Fixed in commit 35216e3. Added the new mutex API functions (ff_mutex_create, ff_mutex_delete, ff_mutex_take, ff_mutex_give) to dfs_v1/dfs_elm.c for R0.16 compatibility. The old API functions (ff_cre_syncobj, ff_del_syncobj, ff_req_grant, ff_rel_grant) are also kept for backward compatibility. FF_FS_REENTRANT remains conditional on RT_DFS_ELM_REENTRANT macro as it was originally, so it will only be enabled when explicitly configured. | 
Co-authored-by: BernardXiong <[email protected]>
| 
 Addressed in commit f68941f: 
 | 
| @wdfk-prog 还请帮忙review下,特别是 ffunicode.c 的情况: ffunicode.c: The large change (~15,593 to ~10,908 lines) is legitimate - R0.16 upstream optimized Unicode conversion tables, significantly reducing file size. This is an intentional improvement, not an error. ff_cre_syncobj/ff_mutex_create,的情况按现在的应该也可以的。 | 
| 
 
 | 


Summary
Successfully updated elm-fatfs from R0.14b/R0.15p1 to R0.16p1 for both dfs_v1 and dfs_v2. All RT-Thread modifications have been preserved.
Latest Changes
Note on ffunicode.c
The large change in ffunicode.c (from ~15,593 lines to ~10,908 lines) is an intentional optimization in upstream R0.16 where Unicode conversion tables were optimized. This is not an error but a legitimate upstream improvement.
Security Summary
No new security vulnerabilities introduced. The update follows the upstream elm-fatfs security patches from R0.15 patch1 through patch3 to R0.16 patch1.
Original prompt
💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.