Skip to content
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

Add saunafs command on Windows #298

Open
wants to merge 7 commits into
base: dev
Choose a base branch
from
Open

Conversation

rolysr
Copy link
Collaborator

@rolysr rolysr commented Feb 12, 2025

This PR is related to the corresponding integration of the saunafs tool on a Windows environment. The main changes were:

  • Fix related dependencies and added Windows specific code to make the tools submodule to be compiled on Windows.
  • Fix the open_master_conn function in order to correctly get the corresponding inode from a given Windows file system path.
  • Add Windows specific code for making the commands makesnapshot and rremove to work on Windows.

@rolysr rolysr force-pushed the add-saunafs-command-on-windows branch 3 times, most recently from 34eaa8d to add65ff Compare February 12, 2025 22:17
Copy link
Collaborator

@dmga44 dmga44 left a comment

Choose a reason for hiding this comment

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

Great work! 👍

As a general comment, I think the changes would have looked better if they were ordered like:

  • enough to be able to compile in Windows
  • fixes on open_master_conn function, including the changes in the protocol.
  • fixes on each of the tools, single commit or multiple commits, as you see fit.
    Though it would be a chore to make it that way now.

@rolysr rolysr force-pushed the add-saunafs-command-on-windows branch 3 times, most recently from a77b983 to 3d8551c Compare February 18, 2025 13:46
@rolysr rolysr force-pushed the add-saunafs-command-on-windows branch 5 times, most recently from 7542b86 to b72a05c Compare February 26, 2025 08:00
For making the saunafs command available on Windows, this commit adds
the necessary changes to compile the saunafs command on Windows.

Signed-off-by: rolysr <[email protected]>
The `open_master_conn` function was not working properly on Windows
when using it with the saunafs tool because it was not properly
resolving the inode by a given path on the file system. This commit
fixes that issue.

Signed-off-by: rolysr <[email protected]>
The makesnapshot command was failing on saunafs tool on Windows because
of not correctly resolving the source inode from which the snapshot
was going to be created. This commit fixes that issue.

Signed-off-by: rolysr <[email protected]>
The previous implementation of recursive remove was not correctly
delimiting the path separator for a parent path from a given full path
when using the saunafs tool on Windows. This commit fixes that issue.

Signed-off-by: rolysr <[email protected]>
Previous version of saunafs tool was not properly resolving a given
inode from a path when using it in a Windows client mountpoint with the
`sfsmountingsubfolder` option enabled. This commit fixes that issue.

Signed-off-by: rolysr <[email protected]>
This commit allows to test the saunafs.exe tool generated for Windows in
the testing framework.

Signed-off-by: rolysr <[email protected]>
@rolysr rolysr force-pushed the add-saunafs-command-on-windows branch from b72a05c to 853339c Compare February 26, 2025 18:28
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.

2 participants