Filesystem Implementation documentation outdated

I’m looking to migrate an existing custom filesystem integration from RTEMS 4.10 to RTEMS 6.1.

It looks like there have been significant changes to the API, however the documentation (ie:6. Filesystem Implementation Requirements — RTEMS Filesystem Design Guide 6.1 (22nd January 2025) documentation) has not been updated to match. For example, the old evalpath handler returned an int and took several arguments, while libio.h now has it as a void function with a single argument. Other functions have been renamed or removed altogether.

Is there updated documentation available? Or even better, can somebody point me to an example of a working custom filesystem integration?

thanks,
David

I’m currently working on a (pretty) similar project. I’m not sure about the changes from the old to new RTEMS, but I can help you with what is needed now.
Take a look at this pdf": https://docs.rtems.org/docs/main/filesystem.pdf

Thanks, however that looks to be mostly the same as the document I linked to, including the same old version of the rtems_filesystem_operations_table that doesn’t match what I’m seeing in my RTEMS6 source building for the leon3.

I don’t know of any other documentation, maybe looking at other filesystems could help.
As you mentioned in your original query, this is an example of a custom filesystem that I’m working on (It’s technically a port, but it has what you need): https://gitlab.rtems.org/Sepehr/rtems/-/tree/run-test

This is the direct link to the operations_table, if that helps!

Also this link might help you in developing and debugging: File System Development, Testing and Debugging

That’s very helpful, thanks.

As others have said, that document is quite old. The bulk of it was written when the IMFS was first implemented and any updates have been light to non-existent. I’d guess the IMFS, RFS, or jffs2 Doxygen and code are good examples.

You can use git log --follow if you want to track changes to the file system operations table.

Ask specific questions and hopefully we all can help.

Thanks, the examples should get me going, but I’ll certainly post back if I have any specific questions.

I would suggest at least editing that document to note that it has yet to be updated.