Bug 596372 - NFSv3 file attributes are not updated by READDIRPLUS reply [rhel-4.8.z]
Summary: NFSv3 file attributes are not updated by READDIRPLUS reply [rhel-4.8.z]
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 4
Classification: Red Hat
Component: kernel
Version: 4.8
Hardware: All
OS: Linux
urgent
urgent
Target Milestone: rc
: ---
Assignee: Vitaly Mayatskikh
QA Contact: Red Hat Kernel QE team
URL:
Whiteboard:
Depends On: 577378
Blocks:
TreeView+ depends on / blocked
 
Reported: 2010-05-26 17:02 UTC by RHEL Program Management
Modified: 2023-09-14 01:21 UTC (History)
10 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2010-06-15 23:54:28 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2010:0474 0 normal SHIPPED_LIVE Important: kernel security and bug fix update 2010-06-15 23:53:35 UTC

Description RHEL Program Management 2010-05-26 17:02:02 UTC
This bug has been copied from bug #577378 and has been proposed
to be backported to 4.8 z-stream (EUS).

Comment 3 Vitaly Mayatskikh 2010-06-01 08:54:45 UTC
Committed in 89.0.26.EL

Comment 4 yanfu,wang 2010-06-09 05:25:00 UTC
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

Comment 5 yanfu,wang 2010-06-10 07:39:39 UTC
在 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

Comment 6 Jeff Layton 2010-06-10 11:29:52 UTC
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.

Comment 7 yanfu,wang 2010-06-11 06:23:33 UTC
move to verified as per Comment #4 and Comment #6.

Comment 9 errata-xmlrpc 2010-06-15 23:54:28 UTC
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

Comment 10 Red Hat Bugzilla 2023-09-14 01:21:19 UTC
The needinfo request[s] on this closed bug have been removed as they have been unresolved for 1000 days


Note You need to log in before you can comment on or make changes to this bug.