--- Begin Message ---
- To: Debian Bug Tracking System <submit@bugs.debian.org>
- Subject: nfs-kernel-server: NFSv4 inconsistent client behaviour on etch
- From: Herbert Valerio Riedel <hvr@hvrlab.org>
- Date: Thu, 08 Feb 2007 09:32:09 +0100
- Message-id: <20070208083209.6761.49455.reportbug@phobos.hvrlab.org>
Package: nfs-kernel-server
Severity: important
I'm not sure this is the right place for describing the strange behaviour I'm experiencing with NFSv4, but I'll do it anyway :-)
I'm using an etch nfs server with
nfs-kernel-server 1:1.0.10-4
linux-image-2.6.18-3-686 2.6.18-7
etc/exports @ NFS server:
/nfs4 10.1.1.0/255.255.255.0(rw,fsid=0,insecure,no_subtree_check,sync,crossmnt)
/nfs4/home2 10.1.1.0/255.255.255.0(rw,insecure,no_subtree_check,sync)
...and various debian etch nfs clients, but there's one host, clientA, which experiences strange cache inconsistencies
(I'm actually wondering whether it's related to http://linux-nfs.org/pipermail/nfsv4/2006-October/005160.html)
mount-cmd @ NFS clients:
mount -t nfs4 nfs-srv:/home2 /home2
now the problem I'm experiencing is that clientA caches pathnames and inodes, even if the pathname doesn't exist anymore as shown by the following two test-cases:
-----------------------------------------------------------------------------------
1. OK: create file from A - remove from B
-----------------------------------------------------------------------------------
clientA$ date | tee file1; stat file1
Thu Feb 8 09:00:02 CET 2007
File: `file1'
Size: 29 Blocks: 8 IO Block: 32768 regular file
Device: 14h/20d Inode: 32800 Links: 1
Access: (0644/-rw-r--r--) Uid: (10001/ hvr) Gid: ( 100/ users)
Access: 2007-02-08 09:01:00.000000000 +0100
Modify: 2007-02-08 09:00:02.000000000 +0100
Change: 2007-02-08 09:00:02.000000000 +0100
clientB$ ls -l; stat file1; cat file1
total 4
-rw-r--r-- 1 hvr users 29 Feb 8 09:00 file1
File: `file1'
Size: 29 Blocks: 8 IO Block: 32768 regular file
Device: 12h/18d Inode: 32800 Links: 1
Access: (0644/-rw-r--r--) Uid: (10001/ hvr) Gid: ( 100/ users)
Access: 2007-02-08 09:01:00.000000000 +0100
Modify: 2007-02-08 09:00:02.000000000 +0100
Change: 2007-02-08 09:00:02.000000000 +0100
Thu Feb 8 09:00:02 CET 2007
clientB$ rm -v file1; ls -l; stat file1; cat file1
removed `file1'
total 0
stat: cannot stat `file1': No such file or directory
cat: file1: No such file or directory
clientA$ ls -l; stat file1; cat file1
removed `file1'
total 0
stat: cannot stat `file1': No such file or directory
cat: file1: No such file or directory
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
2. FAIL: create file from A; read from A; remove from B
-----------------------------------------------------------------------------------
clientA$ date | tee file1; ls -l; stat file1;cat file1
Thu Feb 8 09:06:06 CET 2007
total 4
-rw-r--r-- 1 hvr users 29 Feb 8 09:06 file1
File: `file1'
Size: 29 Blocks: 8 IO Block: 32768 regular file
Device: 14h/20d Inode: 32800 Links: 1
Access: (0644/-rw-r--r--) Uid: (10001/ hvr) Gid: ( 100/ users)
Access: 2007-02-08 09:06:02.000000000 +0100
Modify: 2007-02-08 09:06:06.000000000 +0100
Change: 2007-02-08 09:06:06.000000000 +0100
Thu Feb 8 09:06:06 CET 2007
clientB$ ls -l; stat file1; cat file1
total 4
-rw-r--r-- 1 hvr users 29 Feb 8 09:06 file1
File: `file1'
Size: 29 Blocks: 8 IO Block: 32768 regular file
Device: 12h/18d Inode: 32800 Links: 1
Access: (0644/-rw-r--r--) Uid: (10001/ hvr) Gid: ( 100/ users)
Access: 2007-02-08 09:06:06.000000000 +0100
Modify: 2007-02-08 09:06:06.000000000 +0100
Change: 2007-02-08 09:06:06.000000000 +0100
Thu Feb 8 09:06:06 CET 2007
clientB$ rm -v file1; ls -l; stat file1; cat file1
removed `file1'
total 0
stat: cannot stat `file1': No such file or directory
cat: file1: No such file or directory
clientA$ ls -l; stat file1;cat file1
total 0
File: `file1'
Size: 29 Blocks: 8 IO Block: 32768 regular file
Device: 14h/20d Inode: 32800 Links: 0
Access: (0644/-rw-r--r--) Uid: (10001/ hvr) Gid: ( 100/ users)
Access: 2007-02-08 09:06:26.000000000 +0100
Modify: 2007-02-08 09:06:06.000000000 +0100
Change: 2007-02-08 09:06:52.000000000 +0100
Thu Feb 8 09:06:06 CET 2007
clientA$ $ cat file1;rm -v file1;ls -l; stat file1;cat file1
Thu Feb 8 09:09:45 CET 2007
rm: cannot remove `file1': No such file or directory
total 0
stat: cannot stat `file1': No such file or directory
cat: file1: No such file or directory
-----------------------------------------------------------------------------------
-- System Information:
Debian Release: 4.0
APT prefers testing
APT policy: (500, 'testing')
Architecture: i386 (i686)
Shell: /bin/sh linked to /bin/bash
Kernel: Linux 2.6.18-3-686
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)
--- End Message ---