Open pratheekrebala opened 2 years ago
Hi @pratheekrebala !
fs.checksum
implementation probably has too much influence from our use in dvc
and likely shouldn't call commands at all and rather just use the info()
result, similar to what localfs does. If you need to run md5sum or sha1sum command, it is probably best to just run it yourself, as running commands is mostly out of scope for sshfs itself. I think we'll need to adjust fs.checksum
in the future.
When I try to
fs.checksum(path)
on a server that does not permit auname
command, I get a genericChannel Open Error: Session request failed
. Looking through the debug logs, it seems like the issue is caused by the logic in the_get_system
:https://github.com/fsspec/sshfs/blob/3c10c1bfff44f111926d763a54343726832e2d42/sshfs/spec.py#L295:L300
The server I am working with does support the
md5sum
andsha1sum
commands so the_checksum
method as written should work but the actual command never triggers because it errors before that.Potential Solutions:
_checksum()
method, this would allow me to specify a known command (so the _get_system() check can be bypassed). Ideally, being able to provide both the remote and the local checksum commands would be even better in the case of a Darwin system speaking with a Linux server._get_system()
to provide a more detailed error message.If I can get some guidance on the preferred approach, and if contributions are welcome. I'm happy to submit a PR.
Thank you! Pratheek