Linux's contemporary filesystem mount API went without documentation for six years — latest man-page package finally adds content for 2019 code

Screen full of computer code
(Image credit: Getty Images)

Core system code doesn't move at quite the same pace as the latest vibe coders, and thankfully so, as it needs to be stable, efficient, and battle-tested. However, sometimes delays can get a little ridiculous, as was the case with the documentation for Linux's contemporary filesystem API. As noted by Phoronix, it was over a six-year wait for the info to appear in the standard man-page (manual page) documentation.

The tale goes like this: in 2019, Linux got the minty-fresh new filesystem mounting API, with the main "fsconfig," "fsmount," and "fsopen" calls replacing the old, monolithic "mount." This made it a lot easier for developers to use the new functionality, enjoying cleaner code, better error handling, and the ability to output proper error messages, rather than the cryptic "mount failed."

Google Preferred Source

Follow Tom's Hardware on Google News, or add us as a preferred source, to get our latest news, analysis, & reviews in your feeds.

Bruno Ferreira
Contributor

Bruno Ferreira is a contributing writer for Tom's Hardware. He has decades of experience with PC hardware and assorted sundries, alongside a career as a developer. He's obsessed with detail and has a tendency to ramble on the topics he loves. When not doing that, he's usually playing games, or at live music shows and festivals.

  • -Fran-
    It's important to make this distinction: code being "clean" (readable, maintainable and beautiful) is not the same has having documentation at the functionality/higher level. The code is not user documentation! This phrasing is mostly for comments and other in-line helps: if you need to explain it, then it's not clear enough (readable or maintainable). I'm not an extremist when it comes to comments, as sometimes decisions/approaches need an explanation (outside of immediate code scope context) so it's not changed in a way which would break things.

    Whenever a developer gives me the "my code is good, so I don't need to document it", I send them to the Gulag.

    Regards.
    Reply
  • ezst036
    -Fran- said:
    It's important to make this distinction: code being "clean" (readable, maintainable and beautiful) is not the same has having documentation at the functionality/higher level. The code is not user documentation! This phrasing is mostly for comments and other in-line helps: if you need to explain it, then it's not clear enough (readable or maintainable). I'm not an extremist when it comes to comments, as sometimes decisions/approaches need an explanation (outside of immediate code scope context) so it's not changed in a way which would break things.

    Whenever a developer gives me the "my code is good, so I don't need to document it", I send them to the Gulag.

    Regards.
    This is a pretty big bugaboo and it is kinda widespread within the Linux realm.

    This is pretty much true of the man pages themselves as well. The man pages are not really user documentation either, they're "techie" documentation and usually for more-techie-than-average techies at that. Software developers become a special breed, gaining the ability over time more to speak to their computers but that comes at a cost: losing the ability to speak less and less to normal humans.(Note: This is definitively NOT to be read as an insult.)
    From time to time I see someone ask how to do X and the response is RTFM. Not realizing, I read the man! It didn't help. So that is why I came here now to ask you to break it down human to human for me instead of the awful man pages.

    I think this may at times lead into a larger problem of keeping the myth alive that Linuxes are all still terminal based systems and nobody ever heard of a GUI. Go to YouTube and how many times do you see someone with a Linux desktop and the very first thing they do is open a terminal when right there on their menu, you can see it. Click the button. Click the button. WhY aReNt YoU cLiCkInG tHaT bUtToN rIgHt ThErE i CaN sEe It In YoUr ViDeO! I don't want to see your terminal I want to see you click the button. Just click the button. It's right there!!! ARG! Why are you intentionally making this more difficult? sigh.

    Well, there goes my little rant for the morning.

    Improper documentation, it's a problem at all Linux levels. From no man to man to YouTube.
    Reply
  • -Fran-
    ezst036 said:
    The man pages are not really user documentation either, they're "techie" documentation and usually for more-techie-than-average techies at that.
    The man pages ARE user documentation as they document USAGE.

    Anything that tells you how to interact or USE a piece of software is "user documentation". Anything that talks design or even "code", then it's a design/architectural document. I don't even want to go down that rabbit hole, since there's several different approaches there and ways to accomplish the same end-goal: explain how things are built and maintained.

    You can use any other internal labels you want, but at the most fundamental level, it's just "user documentation". Documentation, in the broader sense, has many different facets and your target audience defines both the content and writing style. So I half agree with your semantic distinction to call the man pages "techie user documentation", but never forget they are still "user" level documentation for a very specific target audience.

    Regards.
    Reply