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

Read-Write capabilities #77

Open
1 of 6 tasks
retpolanne opened this issue Jul 28, 2023 · 6 comments
Open
1 of 6 tasks

Read-Write capabilities #77

retpolanne opened this issue Jul 28, 2023 · 6 comments

Comments

@retpolanne
Copy link

retpolanne commented Jul 28, 2023

Hey!

This project helps me a lot, and I was wondering how could I contribute to adding RW capabilities to ext4fuse.

Here are the things that I mapped - code is in my fork:

I'm currently having trouble getting -o rw and passing to the mount options, I can't really understand how parsing works.

@GwynethLlewelyn
Copy link

Aww. I see that your project didn't go much further, such a pity. I've just taken a quick peek at how exactly those parameters are being passed, but I'm afraid I couldn't understand even the basics — the whole FUSE system is absolutely unknown to me, and, on top of all that, it seems to be different from version to version, so sometimes grabbing an example of how things are done and trying to apply it will catastrophically fail.

Oh well. Perhaps others might pick up on where you got stuck and proceed from there; I'm really sorry that I'm not able to help you out, because I certainly would enjoy havng read/wrte access to my ext4 filesystems...

@retpolanne
Copy link
Author

Thanks @GwynethLlewelyn! Life came in the way and I completely forgot about that. I don't know if the work I was doing is in my fork, but please feel free (you and everybody else) to use it and hack it :)

@GwynethLlewelyn
Copy link

Thanks!

I believe that your work is, indeed, in your fork — at least, I could see some of the changes you made, and others that you started, then commented out as the compiling step broke. I have no idea if the fork has all your work, though.

Unfortunately, I'm really not a good enough programmer (much less in C, which I haven't done anything serious for many years... uh, decades, to be more precise...), and, as said, I totally lack the knowledge of how FUSE really works. As such, I'd have to take a look at a different example (fortunately, there are plenty of those around) to see how such parameters are passed to the underlying mount system. Currently, it's a mystery to me, since on the few examples I came across, things "just work", which is rather unhelpful — and annoying, because it seems so simple. Oh well. I wish I were more qualified to finish your work. Sure, because I have a certain urgency in writing to an ext4 filesystem, I will take a look at your code and a few other FUSE examples and see if I can cook something together. But I'm afraid I'm overestimating myself; some things don't work despite my sheer stubbornness and sense of urgency pushing me ahead :)

Don't expect miracles, there won't be any.

@retpolanne
Copy link
Author

If you want, hit me up on my email (in my profile) or Mastodon (which might be fast) if you want to dig into this rabbit hole and find yourself full of questions :)

Lemme clone this fork and take a look!

@retpolanne
Copy link
Author

retpolanne commented Jun 24, 2024

@GwynethLlewelyn currently working on improving the test suite because I believe the libs used there were renamed at some point. It's compiling now btw, with op_write and op_create.

I'm assuming you use brew for dependency management btw.

@retpolanne
Copy link
Author

retpolanne commented Jun 24, 2024

@GwynethLlewelyn I'm currently using macOS Sequoia, so I can't test FUSE :(

Can you please git pull my fork and:

brew bundle
make
make test

The 0040 test regards op_write, if it passes then we have op_write working :)

I also set up a pipeline for testing this on Github Runners. However, ext4fuse gets stuck :( If I remember correctly, these tests weren't running for me even before my changes, Idk why.

https://github.com/retpolanne/ext4fuse/actions/runs/9653147561/job/26624840445

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

No branches or pull requests

2 participants