[lkml]   [2004]   [Jan]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: 2.6.2-rc2 nfsd+xfs spins in i_size_read()
    On Wed, Jan 28, 2004 at 05:17:27PM +0000, Miquel van Smoorenburg wrote:
    > I have a Linux 2.6.2-rc2 NFS file server and another similar
    > box as client. Kernel is compiled for SMP (hyperthreading).
    > On the NFS server I'm exporting an XFS filesystem to the client
    > over Gigabit ethernet. The client mounts using
    > mount -o nfsvers=3,intr,rsize=32768,wsize=32768 server:/export/hwr /mnt
    > On the client I then run a large dd to a file on the server,
    > like dd if=/dev/zero of=/mnt/file bs=4096 count=800000
    > In a few seconds, the server locks up. It spins in
    > generic_fillattr(), apparently in the i_size_read() inline function.
    > Server responds to pings and sysrq, but nothing else.
    > 2.6.1 doesn't show this behaviour. I tested several kernels:
    > 2.6.1 OK!
    > 2.6.1-bk4 OK!
    > 2.6.1-bk5 doesn't boot
    > 2.6.1-bk6 hangs
    > 2.6.2-rc1 hangs
    > 2.6.2-rc2 hangs
    > 2.6.2-rc2-gcc-2.95 hangs
    > 2.6.2-rc1-mm3 OK!
    > 2.6.2-rc2-mm1 OK!

    > I can't reproduce it on the local filesystem on the NFS server
    > directly, and I can't reproduce it on other filesystems than XFS.
    > But NFSD+XFS locks up every time.

    Hmmmm... I don't think Andrew has any XFS fixes in his tree that
    might help there; and I can't think of any XFS change in -rc1 that
    might have caused this (does the fs/xfs subdir from 2.6.1 plonked
    down in place of the 2.6.2-rc1/2 version still have the problem?)

    i_size_read seems to have a fair bit of config dependency - are you
    CONFIG_SMP / CONFIG_PREEMPT / neither? and is your BITS_PER_LONG
    32 or 64? thanks.

    > (By the way, on 2.6.2-rc1-mm3 and 2.6.2-rc2-mm1 mounting an XFS
    > filesystem results in lots of:
    > Badness in interruptible_sleep_on at kernel/sched.c:2239
    > Call Trace:
    > [<c011f5a3>] interruptible_sleep_on+0xf6/0xfb
    > [<c011f209>] default_wake_function+0x0/0x12
    > [<f8ac0fa2>] pagebuf_daemon+0x231/0x24c [xfs]
    > [<c0339ed6>] ret_from_fork+0x6/0x14
    > [<f8ac0d47>] pagebuf_daemon_wakeup+0x0/0x2a [xfs]
    > [<f8ac0d71>] pagebuf_daemon+0x0/0x24c [xfs]
    > [<c0109269>] kernel_thread_helper+0x5/0xb )

    There's fixes floating around for this, I'll get it merged soon.


    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to
    More majordomo info at
    Please read the FAQ at

     \ /
      Last update: 2005-03-22 14:00    [W:0.032 / U:9.708 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site