-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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
Too many levels of symbolic links when accessing data via snapshot (0.7.0-rc2) #5360
Comments
I'm seeing this too, in folders I know for sure don't have symlinks. I don't believe this to be a new (last 4 months at least) bug. Reproduceably, shortly after triggering this bug, my machine seems to hard crash and stop responding to ssh, and I have to reboot it. I'm not really sure where is the best place to look for relevant crash logs. Context:This is an arch machine that I set up a pool on a year+ ago. I installed the zfs auto snapshot script and thought nothing of it until now. I used the I hadn't updated my machine in at least 4 months, so this issue (for me, anyway) is at least that old. This morning I got curious about how I could browse my snapshots, and issued I read up and saw some issues from 2013 and 2015 about this, but they had been closed and marked resolved. Still, I figured I would upgrade my system to double check. It appears that since I last updated, the zfs-git package has gone away in favor of a zfs-linux package. I removed the old zfs-git and installed the latest zfs-linux package (and updated my system in the process). I tried the ls command again, and the exact same issue. The current zfs-linux version is listed as: 0.6.5.8_4.8.6_1-1 |
Ok, I'm dumb. zfs-git was just renamed to zfs-linux-git. I updated to the latest -git package set ( |
A year later and I've had time to come back to this... The cause of the issue is 5dc1ff2 which changes the call of mount/umount to be done via /usr/bin/env instead of /bin/sh. In the default Ubuntu ramdisk /usr/bin/env is not present but adding an initramfs-tools hook script to install it solves the problem. (That or manually mounting the snapshot.) In the original report where we said that a second attempt worked this was due to a bug in our own initramfs scripts which erroneously entered fall back code after the failed copy squashfs to ram step. I'm leaving this issue open for discussion whether it would be correct to provide /usr/bin/env in the ramdisk. |
@JKDingwall thanks for following up. Yes, I think your fix of adding |
…penzfs#5360. 5dc1ff2 changed the user space program to mount a zfs snapshot from /bin/sh to /usr/bin/env. If the executable is not present in the initramfs then snapshots cannot be automounted.
…penzfs#5360. 5dc1ff2 changed the user space program to mount a zfs snapshot from /bin/sh to /usr/bin/env. If the executable is not present in the initramfs then snapshots cannot be automounted. Signed-off-by: James Dingwall <[email protected]>
5dc1ff2 changed the user space program to mount a zfs snapshot from /bin/sh to /usr/bin/env. If the executable is not present in the initramfs then snapshots cannot be automounted. Reviewed-by: George Melikov <[email protected]> Reviewed-by: Brian Behlendorf <[email protected]> Reviewed-by: Richard Laager <[email protected]> Reviewed-by: Giuseppe Di Natale <[email protected]> Signed-off-by: James Dingwall <[email protected]> Closes #5360 Closes #6913 Conflicts: contrib/initramfs/hooks/zfs
5dc1ff2 changed the user space program to mount a zfs snapshot from /bin/sh to /usr/bin/env. If the executable is not present in the initramfs then snapshots cannot be automounted. Reviewed-by: George Melikov <[email protected]> Reviewed-by: Brian Behlendorf <[email protected]> Reviewed-by: Richard Laager <[email protected]> Reviewed-by: Giuseppe Di Natale <[email protected]> Signed-off-by: James Dingwall <[email protected]> Closes openzfs#5360 Closes openzfs#6913 Conflicts: contrib/initramfs/hooks/zfs
5dc1ff2 changed the user space program to mount a zfs snapshot from /bin/sh to /usr/bin/env. If the executable is not present in the initramfs then snapshots cannot be automounted. Reviewed-by: George Melikov <[email protected]> Reviewed-by: Brian Behlendorf <[email protected]> Reviewed-by: Richard Laager <[email protected]> Reviewed-by: Giuseppe Di Natale <[email protected]> Signed-off-by: James Dingwall <[email protected]> Closes openzfs#5360 Closes openzfs#6913
5dc1ff2 changed the user space program to mount a zfs snapshot from /bin/sh to /usr/bin/env. If the executable is not present in the initramfs then snapshots cannot be automounted. Reviewed-by: George Melikov <[email protected]> Reviewed-by: Brian Behlendorf <[email protected]> Reviewed-by: Richard Laager <[email protected]> Reviewed-by: Giuseppe Di Natale <[email protected]> Signed-off-by: James Dingwall <[email protected]> Closes openzfs#5360 Closes openzfs#6913
5dc1ff2 changed the user space program to mount a zfs snapshot from /bin/sh to /usr/bin/env. If the executable is not present in the initramfs then snapshots cannot be automounted. Reviewed-by: George Melikov <[email protected]> Reviewed-by: Brian Behlendorf <[email protected]> Reviewed-by: Richard Laager <[email protected]> Reviewed-by: Giuseppe Di Natale <[email protected]> Signed-off-by: James Dingwall <[email protected]> Closes openzfs#5360 Closes openzfs#6913
We are using the 0.7.0-rc2 packages from https://launchpad.net/~zfs-native/+archive/ubuntu/daily for testing. Our environment loads a squashfs image from a zfs snapshot in the initrd. We needed some patches for 0.6.4/0.6.5 for accessing snapshots but we are seeing similar problems on 0.7.0-rc2, from the busybox initrd:
The initrd basically does:
On the first load_squashfs we get a return 1 and a shell is is launched which is where I executed the commands in the block above. When I exit that shell the second load_squashfs succeeds.
The text was updated successfully, but these errors were encountered: