This bug has been copied from bug #577378 and has been proposed to be backported to 4.8 z-stream (EUS).
Committed in 89.0.26.EL
At the server, remove the file and create a symlink with the same name or in reverse, the RHEL-4 NFS client can't perceive the change immediately, always a few seconds delay, but can returns updated information eventually. server: [root@dell-pe2900-01 test]# uname -a Linux dell-pe2900-01.rhts.eng.bos.redhat.com 2.6.9-89.0.26.ELsmp #1 SMP Sun May 30 09:34:08 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux client: [root@dell-pe800-01 ~]# uname -a Linux dell-pe800-01.rhts.eng.bos.redhat.com 2.6.9-89.0.26.ELsmp #1 SMP Sun May 30 09:31:52 EDT 2010 i686 i686 i386 GNU/Linux [root@dell-pe800-01 ~]# mount ... 10.16.64.127:/test on /mnt type nfs (rw,addr=10.16.64.127) pls refer to below test results: first try: server: [root@dell-pe2900-01 test]# rm -f file [root@dell-pe2900-01 test]# ln -s tmp/ file [root@dell-pe2900-01 test]# date Wed Jun 9 01:04:58 EDT 2010 client: [root@dell-pe800-01 ~]# date Wed Jun 9 01:05:01 EDT 2010 [root@dell-pe800-01 ~]# ./getdents /mnt --------------- nread=64 --------------- i-node# file type d_reclen d_off d_name 9404417 directory 16 1 .. 9404419 regular 16 2 file 9404417 directory 16 3 . 9404418 directory 16 4 tmp [root@dell-pe800-01 ~]# ./getdents /mnt --------------- nread=64 --------------- i-node# file type d_reclen d_off d_name 9404417 directory 16 1 .. 9404419 symlink 16 2 file --> got correct 9404417 directory 16 3 . 9404418 directory 16 4 tmp [root@dell-pe800-01 ~]# date Wed Jun 9 01:05:16 EDT 2010 2rd try: server: [root@dell-pe2900-01 test]# rm -f file [root@dell-pe2900-01 test]# ln -s tmp/ file [root@dell-pe2900-01 test]# date Wed Jun 9 01:07:06 EDT 2010 client: [root@dell-pe800-01 ~]# date Wed Jun 9 01:07:08 EDT 2010 [root@dell-pe800-01 ~]# ./getdents /mnt --------------- nread=64 --------------- i-node# file type d_reclen d_off d_name 9404417 directory 16 1 .. 9404419 regular 16 2 file 9404417 directory 16 3 . 9404418 directory 16 4 tmp [root@dell-pe800-01 ~]# ./getdents /mnt --------------- nread=64 --------------- i-node# file type d_reclen d_off d_name 9404417 directory 16 1 .. 9404419 regular 16 2 file 9404417 directory 16 3 . 9404418 directory 16 4 tmp [root@dell-pe800-01 ~]# ./getdents /mnt --------------- nread=64 --------------- i-node# file type d_reclen d_off d_name 9404417 directory 16 1 .. 9404419 regular 16 2 file 9404417 directory 16 3 . 9404418 directory 16 4 tmp [root@dell-pe800-01 ~]# ./getdents /mnt --------------- nread=64 --------------- i-node# file type d_reclen d_off d_name 9404417 directory 16 1 .. 9404419 regular 16 2 file 9404417 directory 16 3 . 9404418 directory 16 4 tmp [root@dell-pe800-01 ~]# ./getdents /mnt --------------- nread=64 --------------- i-node# file type d_reclen d_off d_name 9404417 directory 16 1 .. 9404419 regular 16 2 file 9404417 directory 16 3 . 9404418 directory 16 4 tmp [root@dell-pe800-01 ~]# ./getdents /mnt --------------- nread=64 --------------- i-node# file type d_reclen d_off d_name 9404417 directory 16 1 .. 9404419 regular 16 2 file 9404417 directory 16 3 . 9404418 directory 16 4 tmp [root@dell-pe800-01 ~]# ./getdents /mnt --------------- nread=64 --------------- i-node# file type d_reclen d_off d_name 9404417 directory 16 1 .. 9404419 symlink 16 2 file --> got correct 9404417 directory 16 3 . 9404418 directory 16 4 tmp 3rd try: server: [root@dell-pe2900-01 test]# ls -l total 12 lrwxrwxrwx 1 root root 4 Jun 9 01:10 file -> tmp/ drwxr-xr-x 2 root root 4096 Jun 9 00:35 tmp [root@dell-pe2900-01 test]# rm -f file [root@dell-pe2900-01 test]# touch file [root@dell-pe2900-01 test]# date Wed Jun 9 01:11:22 EDT 2010 client: [root@dell-pe800-01 ~]# date Wed Jun 9 01:11:26 EDT 2010 [root@dell-pe800-01 ~]# ./getdents /mnt --------------- nread=64 --------------- i-node# file type d_reclen d_off d_name 9404417 directory 16 1 .. 9404419 symlink 16 2 file 9404417 directory 16 3 . 9404418 directory 16 4 tmp [root@dell-pe800-01 ~]# ./getdents /mnt --------------- nread=64 --------------- i-node# file type d_reclen d_off d_name 9404417 directory 16 1 .. 9404419 symlink 16 2 file 9404417 directory 16 3 . 9404418 directory 16 4 tmp [root@dell-pe800-01 ~]# ./getdents /mnt --------------- nread=64 --------------- i-node# file type d_reclen d_off d_name 9404417 directory 16 1 .. 9404419 symlink 16 2 file 9404417 directory 16 3 . 9404418 directory 16 4 tmp [root@dell-pe800-01 ~]# ./getdents /mnt --------------- nread=64 --------------- i-node# file type d_reclen d_off d_name 9404417 directory 16 1 .. 9404419 regular 16 2 file --> got correct 9404417 directory 16 3 . 9404418 directory 16 4 tmp [root@dell-pe800-01 ~]# date Wed Jun 9 01:11:37 EDT 2010 the server and client reserved for check if needed. user/passwd: root/redhat
在 2010-06-10四的 09:11 +0200,Vitaly Mayatskikh写道: Hi, Jeff! > > Regarding bz "NFSv3 file attributes are not updated by READDIRPLUS > reply". There's a few second delay before update on client side. Is it > ok and safe to release? > > Thanks! > -- > wbr, Vitaly
Yes, that's expected. The client is subject to the acdirmin/max settings. Changes to the directory may not be noticed immediately until the attributes on it are refreshed.
move to verified as per Comment #4 and Comment #6.
An advisory has been issued which should help the problem described in this bug report. This report is therefore being closed with a resolution of ERRATA. For more information on therefore solution and/or where to find the updated files, please follow the link below. You may reopen this bug report if the solution does not work for you. http://rhn.redhat.com/errata/RHSA-2010-0474.html
The needinfo request[s] on this closed bug have been removed as they have been unresolved for 1000 days