vasi / squashfuse

FUSE filesystem to mount squashfs archives
Other
294 stars 69 forks source link

Any plans to revist Windows support? #44

Closed mdibello closed 1 year ago

mdibello commented 4 years ago

I am interested in getting squashfuse working on Windows, and was looking to understand what the status of this effort is.

It looks like there are two more-or-less abandoned branches that were targeting Windows support: dokan and cygwin-dokanx (which appear to be very similar). From what I understand, these efforts hit roadblocks and were pretty much stopped several years back.

I have begun some investigation into using dokany, an actively-maintained and -developed fork of dokanx which seems to have appeared since efforts to port squashfuse to Windows stopped.

A few questions:

  1. Has anyone looked into this since the attempts from 6 years ago? Any success? Are there any plans to try take another stab at this?
  2. Do you think this is an effort that would be worthwhile to pursue (i.e. how much public interest has there been in getting this to work)?
  3. Besides investigating dokany, do you have any suggestions or ideas for potential solutions?

Any guidance/tips would be appreciated.

Thanks, Matthew

vasi commented 4 years ago
  1. Most of the code already compiles and is tested in Windows, see the win directory! But I don't know of anyone trying to connect that to an actual user-space filesystem layer.

  2. I dunno about any particular interest, but it could be a fun project at least.

  3. There's a lot of different user-space filesystem layers for Windows: dokany, ProjFS, PFM, CBFS. In my previous experience playing with these, they're all fiddly in different ways. It was pretty hard to get a build environment up, or to work out what's going wrong when a filesystem breaks. None of the FUSE-compatibility layers they had seemed very stable.

So I'd focus on determining which one is easiest to develop/debug with, and then just connecting that with squashfuse internals. Don't try to re-use the FUSE-specific code in squashfuse, it's probably easier to write custom glue code.

DrDaveD commented 1 year ago

Closing, since the question was answered.