Port-xen archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: problems attempting remote NFS root
Christian Limpach wrote:
Hi!
Hello,
Thanks for the quick reply.
It never returns from tsleep:
[1] nfs_boot: root=192.168.1.17:/export/xen31
[1] nfs_boot_setaddress: sleeping (150)
Next thing to check is if timer interrupts happen, could you enable the code
in arch/xen/xen/clock.c's xen_timer_handler which is disabled with #if 0.
It should then print a message to the console every second. Additionally it
would be good to check if events/interrupts are enable before going to
sleep. Could you add the following:
{
extern unsigned long event_mask;
extern unsigned long *HYPERVISOR_shared_info;
printf("pending %08lx mask1 %08lx mask2 %08lx\n",
HYPERVISOR_shared_info[0], HYPERVISOR_shared_info[1],
event_mask);
}
/* give the link some time to get up */
tsleep(nfs_boot_setaddress, PZERO, "nfsbtd", 3 * hz);
It should then print the following:
[7] nfs_boot: root=172.20.4.13:/netboot/qube
[7] pending 00000000 mask1 80000012 mask2 00000012
[7] ping!!! hz=50 regs 0xc03fcc7c level 12 ipending 00000000
[7] ping!!! hz=50 regs 0xc03fcce0 level 12 ipending 00000000
[7] ping!!! hz=50 regs 0xc03fcce0 level 12 ipending 00000000
[7] nfs_boot: mountd `172.20.4.13:/netboot/qube', error=13
[7] no file system for xennet0
The 8 in mask1 is the master event enable bit, the 1 in mask1/2 is network
interrupts and the 2 in mask1/2 is timer interrupts.
[1] xennet0 at mainbus0: Xen Virtual Network Driver
[1] xennet0: MAC address aa:00:00:c9:24:fd
[1] npx0 at mainbus0: using exception 16
[1] ping!!! hz=50 regs 0xc035ad0c level 12 ipending 00000000
[1] IPsec: Initialized Security Association Processing.
[1] boot device: xennet0
[1] root on xennet0
[1] mountroot: trying nfs...
[1] nfs_boot: trying static
[1] nfs_boot: client_addr=192.168.1.31
[1] nfs_boot: gateway=192.168.1.42
[1] nfs_boot: netmask=255.255.255.0
[1] nfs_boot: server=192.168.1.17
[1] nfs_boot: root=192.168.1.17:/export/xen31
[1] pending 00000000 mask1 80000012 mask2 00000012
[1] nfs_boot_setaddress: sleeping (150)
It hangs here, no ping!!! messages except the one that slipped in
before IPSec, and no ICMP pings (not responding to ARP requests).
I disabled tsleep() in nfs_boot_setaddress() just to see what
happens, and it's a bit different:
[2] xennet0 at mainbus0: Xen Virtual Network Driver
[2] xennet0: MAC address aa:00:00:c9:24:fd
[2] npx0 at mainbus0: using exception 16
[2] ping!!! hz=50 regs 0xc035ad0c level 12 ipending 00000000
[2] IPsec: Initialized Security Association Processing.
[2] boot device: xennet0
[2] root on xennet0
[2] mountroot: trying nfs...
[2] nfs_boot: trying static
[2] nfs_boot: client_addr=192.168.1.31
[2] nfs_boot: gateway=192.168.1.42
[2] nfs_boot: netmask=255.255.255.0
[2] nfs_boot: server=192.168.1.17
[2] nfs_boot: root=192.168.1.17:/export/xen31
[2] pending 00000000 mask1 80000012 mask2 00000012
[2] nfs_boot_setaddress: sleeping (150)
[2] nfs_boot_setaddress: awake
[2] nfs_boot: mountd `192.168.1.17:/export/xen31', error=13
[2] no file system for xennet0
[2] cannot mount root, error = 79
[2] root device (default xennet0):
[2] ping!!! hz=50 regs 0xc035ac6c level 12 ipending 00000000
[2] ping!!! hz=50 regs 0xc035ac6c level 12 ipending 00000000
[2] ping!!! hz=50 regs 0xc035ac6c level 12 ipending 00000000
These messages continue once a second until the VM is killed,
and the network is again unresponsive.
-Neil
Home |
Main Index |
Thread Index |
Old Index