-
Notifications
You must be signed in to change notification settings - Fork 5.3k
[DFS] Support 9PFS #10990
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
[DFS] Support 9PFS #10990
Conversation
|
👋 感谢您对 RT-Thread 的贡献!Thank you for your contribution to RT-Thread! 为确保代码符合 RT-Thread 的编码规范,请在你的仓库中执行以下步骤运行代码格式化工作流(如果格式化CI运行失败)。 🛠 操作步骤 | Steps
完成后,提交将自动更新至 如有问题欢迎联系我们,再次感谢您的贡献!💐 |
📌 Code Review Assignment🏷️ Tag: componentsReviewers: Maihuanyi Changed Files (Click to expand)
📊 Current Review Status (Last Updated: 2025-12-02 12:05 CST)
📝 Review Instructions
|
294ff61 to
7c1e571
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR adds support for the 9P (Plan 9 Filesystem Protocol) to RT-Thread's DFS (Device File System), enabling RT-Thread to share filesystems with virtual machines such as QEMU. The implementation provides a complete 9PFS client that can communicate with 9P servers over various transports.
Key Changes
- Implementation of 9P protocol client with support for file operations (read, write, open, close, etc.)
- Integration with RT-Thread's DFS layer through filesystem operations structure
- Support for protocol transport abstraction allowing different backend implementations
- Configuration support through Kconfig with appropriate dependencies
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 17 comments.
Show a summary per file
| File | Description |
|---|---|
| components/dfs/dfs_v1/filesystems/9pfs/dfs_9pfs.h | Header file defining 9P protocol constants, structures, and API declarations |
| components/dfs/dfs_v1/filesystems/9pfs/dfs_9pfs.c | Complete 9PFS client implementation with DFS integration |
| components/dfs/dfs_v1/filesystems/9pfs/SConscript | Build script for compiling 9PFS components |
| components/dfs/Kconfig | Configuration option to enable 9PFS support with dependencies |
| components/finsh/msh_file.c | Updated mount command to recognize "9p" filesystem type |
Note: Several critical bugs were identified in the implementation that should be addressed before merging, particularly around error handling, buffer management, and correct use of protocol fields.
What is 9PFS (https://en.wikipedia.org/wiki/9P_(protocol)): 9P (or the Plan 9 Filesystem Protocol or Styx) is a network protocol developed for the Plan 9 from Bell Labs distributed operating system as the means of connecting the components of a Plan 9 system. Files are key objects in Plan 9. They represent windows, network connections, processes, and almost anything else available in the operating system. rt-thread could share filesystem in VM mode with 9pfs such as QEMU... Signed-off-by: GuEe-GUI <2991707448@qq.com>
|
@Rbb666 AI 相关问题已修改 |
拉取/合并请求描述:(PR description)
[
What is 9PFS (https://en.wikipedia.org/wiki/9P_(protocol)): 9P (or the Plan 9 Filesystem Protocol or Styx) is a network protocol developed for the Plan 9 from Bell Labs distributed operating system as the means of connecting the components of a Plan 9 system. Files are key objects in Plan 9. They represent windows, network connections, processes, and almost anything else available in the operating system.
rt-thread could share filesystem in VM mode with 9pfs such as QEMU...
]
当前拉取/合并请求的状态 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