Kernel 2.4.25 I/O Error with NFS + VFAT partition

From: Jan Knutar (jk-lkml_at_sci.fi)
Date: 02/29/04

  • Next message: Christoph Hellwig: "Re: [SELINUX] Handle fuse binary mount data."
    To: linux-kernel@vger.kernel.org
    Date:	Sun, 29 Feb 2004 21:13:56 +0200
    
    

    I use NFS to share a vfat partition. I have a slight fear that vfat over
     nfs maybe only 'accidentally' worked in 2.4.24 and earlier...

    In short: VFAT over NFS works in 2.4.24, does not work in 2.4.25,
     (l)stat64 syscalls fail. Tested with both 2.4.24 and 2.4.25 clients.

    For example:
    Works:
    ls --color=no /mnt/d

    Lots of Input/Output errors:
    ls -lh /mnt/d

    /mnt/d is mounted with mount host:/mnt/import/d /mnt/d -o hard,intr
    on the client
    and is exported as
    /mnt/import/d 192.168.42.1(rw,async,no_root_squash)
    on the server, which has /mnt/import/d mounted with:
    /dev/hdd5 /mnt/import/d vfat
    in /etc/fstab.

    Local access on the server of the filesystem works ok.

    With strace of ls I've seen a few syscalls which seem to fail, examples:

    lstat64("/mnt/d/putty.exe", 0x805a114) = -1 EIO (Input/output error)
    stat64("/mnt/d/temp", 0x8059654) = -1 EIO (Input/output error)

    In dmesg on the client machine, I find the following:

    nfs_stat_to_errno: bad nfs status return value: 45
    nfs_stat_to_errno: bad nfs status return value: 45
    <repeated many times>

    Nothing in dmesg on the server machine.

    Setting /proc/sys/sunrpc/nfs*debug to 1 doesn't seem to put anything
    in dmesg on the server, but alot of this on the client:

    NFS: lookup(//cd2)
    nfs_stat_to_errno: bad nfs status return value: 45
    NFS: dentry_delete(//cd2, 0)
    NFS: lookup(//cd1)
    nfs_stat_to_errno: bad nfs status return value: 45
    NFS: dentry_delete(//cd1, 0)

    Which doesn't look very helpful.

    Setting rpc-debug to 1, and the dmesg has this:

    nfs_stat_to_errno: bad nfs status return value: 45
    RPC: 23011 release request d1f63074
    RPC: 23012 reserved req d1f63074 xid 83f759d9
    RPC: 23012 xprt_transmit(83f759d9)
    RPC: 23012 xprt_cwnd_limited cong = 0 cwnd = 512
    RPC: xprt_sendmsg(0) = 136
    RPC: 23012 xmit complete
    RPC: udp_data_ready...
    RPC: udp_data_ready client d1f63000
    RPC: 23012 received reply
    RPC: cong 256, cwnd was 512, now 512
    RPC: 23012 has input (28 bytes)
    nfs_stat_to_errno: bad nfs status return value: 45

    Using ethereal to sniff on the NFS traffic, this is what it thinks of
    a "ls /mnt/d/temp" from the server:

    192.168.42.1 192.168.42.2 NFS V2 LOOKUP Call, DH:0x042c008a/temp
    192.168.42.2 192.168.42.1 NFS V2 LOOKUP Reply (Call in 5) Error:ERR_OPNOTSUP

    Any hints on where to go from here?

    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/


  • Next message: Christoph Hellwig: "Re: [SELINUX] Handle fuse binary mount data."

    Relevant Pages