-
-
Notifications
You must be signed in to change notification settings - Fork 3.5k
VFS: Add documentation for Virtual File System Part 1 #890
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
|
Hello @sigmanature. First of all thank you for your work!
There is no any guidelines since somewhen I started to write it for myself mostly. Actually any information about the kernel and its parts is appreciated. For the start it is ok I think if you will more-less follow the common structure that each part has - short introduction, main part, conclusion, links.
It is ok in general but may look somewhat strange if the articles themselves are written in Chinese. Usually each part as you probably have seen ends with links, I think it is pretty ok to have a small note that in addition these links were used.
Of course, if you see something wrong, outdated or just you have better phrasing feel free to open PR.
In this case I'd usally go with 'Main title. Part 1'
It is always interesting from the historical perspective especially with description why it was changed. But of course it is always good to have the latest code despite any previous. I know and understand how hard it can be since the kernel is constantly developed. The very first thing related to the review could you please add an annotation to each code snippet in your article. The examples you can find in any they are visible only in raw format - https://raw.githubusercontent.com/0xAX/linux-insides/refs/heads/master/Booting/linux-bootstrap-1.md. They are used by the script https://github.com/0xAX/linux-insides/blob/master/scripts/check_code_snippets.py that checks that the code snippets are valid and exist in the current kernel master branch. If I was not clear or you need help please let me know. The content itself I will review at this week. Thank you again very much. |
|
Hi @0xAX ,
In that way we'd better not put links to articles that entirely written in Chinese in the
So the more ideal approach would be to use text to explain the historical design of a certain submodule, while the code blocks show the code from the latest kernel ?
Let me clarify my question with a concrete example.
Within the VFS chapter, mount is one of the major topics. My question is: how should I name the titles in this situation? The very first thing related to the review could you please add an annotation to each code snippet in your article. The examples you can find in any .md file in Booting. For example:
I have studied the check_code_snippet.py script in detail, and it seems that it performs a very strict, line-by-line verification between the code blocks in the article and the corresponding lines in the referenced kernel source files. However, when I’m explaining a data structure, sometimes I only want to introduce the most essential members first. In such cases, I may want to show a simplified version of the struct that contains only a subset of the fields. Another issue is the one you mentioned: currently the reference links are only visible in the raw format. What do you think about this approach? Looking forward for your kindly reply! |
As I said it is ok to put in the end of the links section and just mention that these sources are on Cheenese. Another variant is to put it in https://github.com/0xAX/linux-insides/blob/master/LINKS.md document in separate section and mention/refer in the post.
Yes yes, I see what you mean. There is very similar situation for example with the kernel initialization - as it contsists of many many different things which is impossible to put in the single post. I did just it pretty straightforward and named it just - Kernel initialization Part 1, Kernel initialization Part 2 and so on. Inside the post itself just have some introduction and conclusion like here we see "mount stuff up to the X point" and in the next post we will continue to investigate/dive/whatever in this process. Do you see what I mean or not clear?
This is also true and I understand your concern. The same can be for any long function or structure like thread or whatever. I'd suggest for now just leave such cases without annotations and maybe create an issue with "TODOs" for such parts and I will try to improve the script to handle such cases. So for now please add these annotations just to whatever it is possible to add and we will see in future what to do with partial pieces of code.
The fact that they are invisible for any cases except the raw format it was done intentionally to have them only for validation scripts/CI. So I'd leave this approach as is for now. But of course in the text itself before (or after, depends on context) you can mention something like "the following structure/function/whatever X is defined in the LINK source code file" like it is in most of posts I think. |
Description
Hello! I am an undergraduate student passionate about the Linux kernel. I have previously contributed an RFC patch for large folios to the f2fs community.
This is my first pull request to
linux-insides. My goal is to start writing a new series of articles for the Virtual File System (VFS) section. This first article serves as an introduction to VFS, explaining its role as an abstraction layer that provides a unified interface for filesystems, and introduces its core data structures.Changes proposed in this pull request:
VFS/directory.VFS/linux-vfs-1.md.VFS/README.mdfor future planning.Questions for the Maintainer
Before I proceed with further work, I have a few questions about the project's contribution style and direction. I would greatly appreciate your guidance:
linux-insidesarticles focus on code and flow analysis. Do you have any specific style guidelines? Would you encourage the use of more diagrams to aid explanation?mountin VFS) might be best explained in several sub-parts. This structure doesn't seem to be used in existing articles. What are your thoughts on this approach?swapin the mm subsystem) have undergone significant changes since kernel 3.18. I think it could be valuable to analyze the code from different versions to show the evolution and motivation. What do you think of this idea for future articles?Thank you for your time and for reviewing my contribution. I look forward to your feedback!
Related issues
N/A