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

[WIP] Symlinks #18

Merged
merged 2 commits into from Jun 29, 2017

Conversation

Projects
None yet
2 participants
@ids1024
Copy link
Member

ids1024 commented Jun 26, 2017

There are still some things to be resolved, but does this seem like a good way to implement it?

My idea is that instead of adding system calls (symlink and readlink), symlinks can be opened with an O_SYMLINK flag to read where they point to, and created by opening with that flag and writing a path.

A limitation of the current implementation is that it only works with symlinks to the same scheme, but I don't think that should be the case. How should that be handled? It could be useful to have some way for open() to defer to another scheme.

@ids1024 ids1024 referenced this pull request Jun 26, 2017

Merged

Add symlink-related flags #9

@ids1024

This comment has been minimized.

Copy link
Member

ids1024 commented Jun 29, 2017

For relative path handling, should the canonicalize() function from kernel/src/context/context.rs just be copied into redoxfs?

@jackpot51

This comment has been minimized.

Copy link
Member

jackpot51 commented Jun 29, 2017

Yes,probably so

@ids1024

This comment has been minimized.

Copy link
Member

ids1024 commented Jun 29, 2017

I've implemented relative symlinks; I think this is okay to merge now. I do think we want to support symlinks across schemes, but that will require some form of support in the scheme API, and I'm not sure how it should be done.

@jackpot51

This comment has been minimized.

Copy link
Member

jackpot51 commented Jun 29, 2017

That's cool. I don't think symlinks across schemes are sensible yet, either

@jackpot51 jackpot51 merged commit b972f08 into redox-os:master Jun 29, 2017

1 check was pending

continuous-integration/travis-ci/pr The Travis CI build is in progress
Details
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment