Conversation
|
👋 感谢您对 RT-Thread 的贡献!Thank you for your contribution to RT-Thread! 为确保代码符合 RT-Thread 的编码规范,请在你的仓库中执行以下步骤运行代码格式化工作流(如果格式化CI运行失败)。 🛠 操作步骤 | Steps
完成后,提交将自动更新至 如有问题欢迎联系我们,再次感谢您的贡献!💐 |
There was a problem hiding this comment.
Pull request overview
This PR fixes a critical bug in the block device write function where writing unaligned data would incorrectly fail. The root cause was that the wsize variable was being incremented before being used in a comparison check, causing the validation logic to always fail even when the write operation succeeded.
Key Changes:
- Fixed the order of operations in the continuous block write section by moving the
wsizeupdate to after the success/failure check - Added proper error path handling to update position and return written size on partial writes
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
📌 Code Review Assignment🏷️ Tag: componentsReviewers: @Maihuanyi Changed Files (Click to expand)
📊 Current Review Status (Last Updated: 2026-01-06 19:27 CST)
📝 Review Instructions
|
拉取/合并请求描述:(PR description)
[
为什么提交这份PR (why to submit this PR)
原有写入连续扇区逻辑,成功时res返回值应与入参(count - wsize) / bytes_per_sector相等,但wsize在判断前被修改,导致两者不等,返回写入失败。
你的解决方案是什么 (what is your solution)
先使用wsize进行写入结果判断,再对wsize进行实际写入长度的累加。
请提供验证的bsp和config (provide the config and bsp)
]
当前拉取/合并请求的状态 Intent for your PR
必须选择一项 Choose one (Mandatory):
代码质量 Code Quality:
我在这个拉取/合并请求中已经考虑了 As part of this pull request, I've considered the following:
#if 0代码,不包含已经被注释了的代码 All redundant code is removed and cleaned up