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)


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to