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