-
Notifications
You must be signed in to change notification settings - Fork 7
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
Encrypted filesystem is unmountable on kernel 3.12 #34
Comments
Ok, so digging through the kernel source, I noticed that SSE? is apparently CPU features. This is an AMD Phenom II X6 1100T which seems to only support SSE and SSE2 (according to /proc/cpuinfo) which might explain the No such Now my question instead is, why did it try to load sha256_ssse3 in the first place? I'm using 'checksum=sha256-mac,compression=lz4,encryption=aes-256-gcm' on this filesystem... |
Loading the following modules before zfs, the import and the mount:
then I don't get any problems in the syslog. It still refuses to mount the filesystem though:
|
Trying to create a new filesystem with basically the same values as the problematic one
succeeds
|
Running 'zfs mount' under strace, I see:
mounting the newly created encrypted test filesystem share/tmp2, I instead see:
The direct difference I could see is the 'nodev', so disabling that in share/tmp2 and tried again. No change, it still tries to use 'nodev' (and succeeds) so that can't be it... However, MS_NODEV... Setting 'device=off' again, just for completness on share/home/turbo/Crypted both are now using MS_NODEV and share/tmp2 is still mountable. Still can't mount 'share/home/turbo/Crypted' though. |
can the newly created test filesystem be mounted (after export/import) ? |
Yes. I've been rebooting a couple of times to see if that did any change and share/tmp2 still mounts without any problems. |
Ok so its not a patch code merge breaking mount, there is something with the dataset. You tried disabling the checksum thing? although I would expect to see a degraded pool if that was the issue, and not an error from mount |
|
The reason I think/thought it had something to do with the crypto code is that all the other filesystems (591) mounts just fine... |
Even calling mount.zfs manually fails:
|
Well, the error comes from the kernel on the mount request, so it should not matter who issues it. But 52 is EBADE, or in ZFS it is used as: include//sys/zio.h:#define ECKSUM EBADE So, it is failing due to checksum. Take out the returns for bad checksums and you should be able to get further maybe, copy the data off etc. |
Ok, so trying to disable the checksum again works to mount the filesystem. I can now copy the data out and recreate the filesystem. Thanx for the heads up on that. It didn't work for openzfs/zfs#1862 though. But this bug is now resolved. Maybe we/someone should document the issue about the modules loading... ? |
Yes it is a bit unfortunate. The new version is clearly better as it actually HAS checksums, but it will confuse users that they can no longer import old crypto volumes. Perhaps documentation is in order, and then maybe make the "ignore checksum" be a module loading optional argument, so it can be more easily disabled. |
Sounds like a plan... Do you want me to do an attempt at this, or do you have time (it will probably take you a lot quicker than me :)? Both documentation and module param is probably required... Can't expect people to read documentation, BEFORE they do something, right? :) |
Please feel free to do documentation, I am terrible at that :) I can :) Turbo Fredriksson wrote:
Jorgen Lundman | [email protected] |
mount a previously created crypted filesystem. More details around this at zfsrogue/zfs-crypto#34
mount a previously created crypted filesystem. More details around this at zfsrogue/zfs-crypto#34
This is a fork of #32.
After finally mustering enough courage to run 'zfs mount -a', I get:
and the syslog say:
The SSSE3 crypto is selected as a module:
and is availible:
but not loaded, because:
and
The text was updated successfully, but these errors were encountered: