casaroli commented on PR #19536: URL: https://github.com/apache/nuttx/pull/19536#issuecomment-5082778690
> @casaroli this is a very nice addition. Is there some place where the xipfs system is documented more thoroughly. I was thinking that a integration of the metadata into the "exe" data region would be simple and remove limitations that might be introduced by the number of metadata regions. thank you for your comment. You mean [Documentation/components/filesystem/xipfs.rst](https://github.com/casaroli/nuttx/blob/71364ac49203f8c15a0f3a6ff29509e7420558f8/Documentation/components/filesystem/xipfs.rst) is not enough? There is a small section about the on-disk layout and in fact it is very simple. I can add more detailed technical documentation if you think it is necessary. Regarding the directory metadata location, I considered having it in the data region, however this would make the compacting (defrag) mechanism and power-loss mitigation much more complex, and also less efficient as we would waste entire blocks with metadata. So I preferred to keep this as is. In my rp2350, this gives me 60 possible directories. It actually depends on the system flash erase block size. Making those larger than the block size. In real use cases where I have seen people use XIP, they just slot the flash into a few (4 to 16) file slots and do it without a filesystem or directory structure, so supporting directories and file creation is already overkill for these common use cases. So I tried to keep it as simple as possible, while still usable and efficient. Let me know if you like me to detail the documentation or investigate/explore other on-disk formats to overcome some of the limitations. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
