Bug 435428

Summary: test6 and test7 basic connectathon tests fail between RHEL5 and AIX
Product: Red Hat Enterprise Linux 5 Reporter: Aime Le Rouzic <aime.le-rouzic>
Component: kernelAssignee: Red Hat Kernel Manager <kernel-mgr>
Status: CLOSED WONTFIX QA Contact: Red Hat Kernel QE team <kernel-qe>
Severity: medium Docs Contact:
Priority: low    
Version: 5.1CC: jlayton, rwheeler, steved
Target Milestone: rc   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2010-03-16 19:14:22 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Aime Le Rouzic 2008-02-29 09:54:43 UTC
Description of problem:
Hi,

Running the basic commands (-b) of the Connectathon Suite between AIX 6.1.0 SP2
(as NFSV4 Client) and Linux 2.6.24-rc2-CITI_NFS4_ALL-1(as NFSV4 server), I get
issues in test6 and test7 which should be due to the change attribute of 1s on
the server side:

- for test6 we get:

./runtests -b -t /mnt/nosec/test6
Starting BASIC tests: test directory /mnt/nosec/test6 (arg: -t)
./test6: readdir
    ./test6: (/mnt/nosec/test6) unlinked 'file.0' dir entry read pass 1
    ./test6: (/mnt/nosec/test6) Test failed with 1 errors basic tests failed


- for test7 we get:

./runtests -b -t /mnt/nosec/test7
Starting BASIC tests: test directory /mnt/nosec/test7 (arg: -t)
./test7: link and rename
      ./test7: (/mnt/nosec/test7) file.0 has 2 links after unlink (expect 1) :
No such file or directory
basic tests failed 

Version-Release number of selected component (if applicable):
RHEL5.1 Gold
AIX 6.1.0 SP2

How reproducible:


Steps to Reproduce:
1.
2.
3.
  
Actual results:


Expected results:


Additional info:
For test6:
If we mount on the AIX side with noac it works.
If we add also "sleep(1)" before the unlink it works
Otherwise it fails

Here is the IBM's analysis:


>>I believe that's the time_delta issue about change attribute.
>>The problem is this.
>>You have
>> 1. A is a file.
>> 2. B is a link (hard link) to A.


>>So A has 2 links.


>>WWhen client deleted B or A. the link count should go down to 1. When the
deletion happened,
>>the link count on A is 2 which is cached on the client side. However, when
client delete B
>>and then ask for the attrributes of A, A hasn't change because deletion and
asking for attributes
>> are all within a second(the time_delta issue). Since A hasn't changed, So
client thinks its
>>cache is good. Therefore a bad link count get reported.


>>By putting a sleep of a second in between rm and ls, we are forcing the client
to sleep for
>>one second before asking for the attributes. Since the time_delta for linux is
1 second.
>>So when asking for attributes, server will notice the different and tell the
client,
>> its cache has expired. In this case, client will then purge the cache and
re-populate the
>>cache and return the good link count. 


Best Regards

Comment 2 Ric Wheeler 2010-03-16 19:14:22 UTC
Please reopen if this is still an issue.