Skip to content

Complete dmramfs implementation and update CI for RAM filesystem#3

Merged
JohnAmadis merged 7 commits into
masterfrom
copilot/complete-dmramfs-implementation
Nov 25, 2025
Merged

Complete dmramfs implementation and update CI for RAM filesystem#3
JohnAmadis merged 7 commits into
masterfrom
copilot/complete-dmramfs-implementation

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Nov 25, 2025

  • Analyze repository structure and understand existing code
  • Understand dmfsi interface requirements
  • Review fs_tester test suite requirements
  • Complete dmramfs implementation
  • Update CI workflow for dmramfs
  • Update release workflow for dmramfs
  • Update README documentation
  • Build passes locally
  • Run code review and address comments
  • Run codeql checker - no alerts
  • Fix segfault in tests:
    • Fix dmlist_insert return value check (returns bool, not error code)
    • Handle empty directory component in paths like /test.txt
  • Add dmlist dependency info to README
  • Document known fclose error messages issue

Fixes: The tests were crashing because:

  1. dmlist_insert returns true on success but the code was checking != 0 expecting error codes
  2. Paths like /test.txt created empty directory components that weren't handled

All 13 fs_tester tests now pass.

Known Issue: The [ERROR] Failed to close file messages appear due to a return value convention mismatch between dmvfs (expects boolean) and DMFSI (uses 0 for success). Tests pass correctly despite these messages.

Original prompt

This section details on the original issue you should resolve

<issue_title>Dokończyć implementację dmramfs i zaktualizować CI</issue_title>
<issue_description>Celem tego zadania jest dokończenie implementacji dmramfs, zaktualizowanie CI (był on skopiowany z innego systemu plików - dmffs). Napisanie dokumentacji oraz odpalenie testów fs_tester z repozytorium https://github.com/choco-technologies/dmvfs

</issue_description>

Comments on the Issue (you are @copilot in this section)


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

Copilot AI and others added 4 commits November 25, 2025 17:59
Co-authored-by: JohnAmadis <17320783+JohnAmadis@users.noreply.github.com>
…ling

Co-authored-by: JohnAmadis <17320783+JohnAmadis@users.noreply.github.com>
Co-authored-by: JohnAmadis <17320783+JohnAmadis@users.noreply.github.com>
Co-authored-by: JohnAmadis <17320783+JohnAmadis@users.noreply.github.com>
Copy link
Copy Markdown
Contributor

@JohnAmadis JohnAmadis left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@copilot zacommitowałeś pliki, które są generowane i pliki binarne - usuń je proszę, zacommituj usunięcie, a następnie dodaj do gitignore

Copilot AI changed the title [WIP] Complete implementation of dmramfs and update CI Complete dmramfs implementation and update CI for RAM filesystem Nov 25, 2025
Copilot AI requested a review from JohnAmadis November 25, 2025 18:08
Copy link
Copy Markdown
Contributor Author

Copilot AI commented Nov 25, 2025

@copilot zacommitowałeś pliki, które są generowane i pliki binarne - usuń je proszę, zacommituj usunięcie, a następnie dodaj do gitignore

The codeql build artifacts were already removed in commit f78cd47 and .gitignore was updated to prevent this from happening again. The _codeql_build_dir/ and _codeql_detected_source_root are now properly ignored.

@JohnAmadis
Copy link
Copy Markdown
Contributor

@copilot testy crashują - jest jakiś segmentation fault na CI:

Running filesystem tests for dmramfs...
Segmentation fault (core dumped)

…ty root paths

Co-authored-by: JohnAmadis <17320783+JohnAmadis@users.noreply.github.com>
Copy link
Copy Markdown
Contributor Author

Copilot AI commented Nov 25, 2025

@copilot testy crashują - jest jakiś segmentation fault na CI:

...

Fixed in commit 27e80e9. The issues were:

  1. dmlist_insert returns bool (true=success) but the code was checking != 0 expecting error codes
  2. Paths like /test.txt created empty directory components in dmfsi_path_create that weren't handled

All 13 fs_tester tests now pass.

Copy link
Copy Markdown
Contributor

@JohnAmadis JohnAmadis left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comment thread README.md

## Usage

The module can be loaded and mounted using DMVFS:
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Dodaj jeszcze informacje, że moduł ten wymaga biblioteki systemowej dmlist

Oraz sprawdź czy to normalne że fs_tester pomimo przechodzenia testów drukuje błąd o problemach z zamknięciem pliku

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added the dmlist dependency information in commit 73a3d16.

Regarding the fclose errors: they appear because dmvfs checks if (!fclose_func(...)) expecting boolean (non-zero = success), but DMFSI convention uses 0 (DMFSI_OK) for success. This is a mismatch in dmvfs, not dmramfs. The file operations work correctly - tests pass because the actual cleanup still happens. I documented this in the "Known Issues" section.

@JohnAmadis JohnAmadis marked this pull request as ready for review November 25, 2025 18:31
…n README

Co-authored-by: JohnAmadis <17320783+JohnAmadis@users.noreply.github.com>
Copilot AI requested a review from JohnAmadis November 25, 2025 18:39
@JohnAmadis JohnAmadis merged commit ea3c01e into master Nov 25, 2025
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Dokończyć implementację dmramfs i zaktualizować CI

2 participants