Bug 1084763

Summary: Kernel panic at power down when rootfs on NBD device
Product: [Fedora] Fedora Reporter: Dag <den.mail>
Component: dracutAssignee: dracut-maint-list
Status: CLOSED DUPLICATE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 20CC: dracut-maint-list, jonathan
Target Milestone: ---   
Target Release: ---   
Hardware: i686   
OS: Linux   
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-05-16 15:16:15 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Description Dag 2014-04-06 12:21:35 UTC
Description of problem:
When booting a diskless workstation via PXE (DHCP/TFTP), I specify as kernel boot parameters :
netroot=nbd:192.168.xx.yy:2000:ext3 root=UUID=zzzzzzzzzzzzzz ip=dhcp

It always boots OK.

But at shutdown :
[ok] Reached target Unmount all filesystems
[ok] Stopped monitoring of LVM2 [...]
     Stopping LVM2 metadata daemon ...
[ok] Stopped LVM2 metadata daemon
[ok] starting restore /run/initramfs
[ok] reached target shutdown
[kernel.time] block nbd0: receive control failed (result -4)
[kernel.time] block nbd0: attempted send on closed socket
[kernel.time] end_request: I/O error, dev nbd0, sector 6680
[kernel.time] ---------[ cut here ] -------
[kernel.time] kernel bug at fs/buffer.c:3015!
[kernel.time] invalid opcode: 0000 [#1] SMP
[... kernel trace ...]
[kernel.time] ---------[ end trace ] --------
[kernel.time] kernel panic - not syncing: attempted to kill init! exitcode=0x0000000b

The nbd-client seems to be killed BEFORE trying to umount rootfs.

The nbd maintainer has updated nbd package so nbd-client can mark itself in systemd as launched by initrd ("-m" cmdline parameter).

BUT dracut does not seem to make use of -m, nor any systemd script.

Version-Release number of selected component (if applicable):

How reproducible:

Steps to Reproduce:
1. install Fedora on a mounted nbd target (ext3 formatted in my case)
2. chroot in the newly-installed system and: yum install dracut-network nbd
3. put the rootfs (nbd) UUID in /etc/fstab
4. dracut --kver 3.12.8-300.fc20.i686+PAE -f /boot/initramfs-3.12.8-300.fc20.i686+PAE.img
5. prepare another machine to serve tftp and dhcp to be able to PXE boot
6. prepare the pxe menu (as described obove) on this other machine
7. boot the computer via PXE, it should find its NBD root device and mount it
8. login as root, then type poweroff
9. I issued "yum updates" several times since the initial installation to keep the system up to date.

Actual results:
The system crashes when nbd-client seems to be killed too early, thus making rootfs unavailable before umounting it.

Expected results:
The system should keep nbd-client alive until rootfs gets umounted, as it's launched by initramfs.

Additional info:
It used to work very well in Fedora 18, then I upgraded to Fedora20 and it crashes everytime now.

I made a bug report here, initialy for kernel maintainers :

But someone reassigned it to systemd, then systemd people reassigned to nbd.
I believe it is NOT a nbd issue anymore, as it has been fixed for nbd.


Comment 1 Dag 2014-05-16 15:16:15 UTC

*** This bug has been marked as a duplicate of bug 1098499 ***