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 support for volume renaming #169

Closed
wants to merge 1 commit into from
Closed

Conversation

swt2c
Copy link

@swt2c swt2c commented Jan 19, 2017

This isn't technically enabled in the kext side yet, but it is supposed to be
enabled soon.

This isn't technically enabled in the kext side yet, but it is supposed to be
enabled soon.
@tv42
Copy link
Member

tv42 commented Jan 19, 2017

I'd like to see tests, which means this needs the kext first.

What's the intended behavior when working against an older kext? I guess mount option becomes a nop (will the older kext error out?). Tests should skip when running against older kext, if doable -- what does the fs client api do when a set volume name operation is attempted on a volume that doesn't support it?

For naming, Setvolname is not a single word (and yes, I know existing names make the same mistake; they're legacy api that's painful to change). And I think we should spell it out, SetVolumeName.

The mount option could use a better name too, but I don't have a concrete idea at this time. Why is it even a mount option?

@swt2c
Copy link
Author

swt2c commented Jan 19, 2017

I'd like to see tests, which means this needs the kext first.

The kext change is as simple as uncommenting the lines here:
https://github.com/osxfuse/kext/blob/master/osxfuse/fuse_vfsops.c#L876
Benjamin wants to enable support in libfuse first though.

What's the intended behavior when working against an older kext? I guess mount option becomes a nop (will the older kext error out?). Tests should skip when running against older kext, if doable -- what does the fs client api do when a set volume name operation is attempted on a volume that doesn't support it?

The intended behavior is that changing the volume name will not be supported on older kexts. As it is currently, the kext does not check the SETVOLNAME bit, so setting it should just do nothing.

As far as what happens when trying to change a volume name on a volume that doesn't allow it - the only ways I've found to do so is with Finder and by calling DiskArbitration APIs. In the case of Finder, Finder itself simply doesn't allow you to change the volume name. I haven't tried with the DiskArbitration APIs.

For naming, Setvolname is not a single word (and yes, I know existing names make the same mistake; they're legacy api that's painful to change). And I think we should spell it out, SetVolumeName.

I was only trying to match existing API's. :-) Would you want to rename everything? FSSetvolnamer, SetvolnameRequest, opSetvolname?

The mount option could use a better name too, but I don't have a concrete idea at this time. Why is it even a mount option?

Because it allows you to enable and disable setting the volume name. Again, I was just trying to match the existing code here. Maybe EnableSetVolumeName() would be better?

@swt2c
Copy link
Author

swt2c commented Apr 18, 2017

The kext change has been merged. See osxfuse/kext@cb93b95

@tv42
Copy link
Member

tv42 commented Apr 15, 2020

macOS support has been removed. If somebody wants to pick up maintaining an open source macOS FUSE, or wants to fund supporting the proprietary continuation of OSXFUSE, please get in touch.
#224

@tv42 tv42 closed this Apr 15, 2020
@tv42 tv42 added the wontfix label Apr 15, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants