| Summary: | locktests fail in "READ LOCK THE WHOLE FILE BYTE BY BYTE" test case. | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [Community] GlusterFS | Reporter: | Anush Shetty <ashetty> | ||||
| Component: | locks | Assignee: | krishnan parthasarathi <kparthas> | ||||
| Status: | CLOSED WORKSFORME | QA Contact: | |||||
| Severity: | high | Docs Contact: | |||||
| Priority: | high | ||||||
| Version: | mainline | CC: | amarts, gluster-bugs, nsathyan, rabhat, vbellur | ||||
| Target Milestone: | --- | ||||||
| Target Release: | --- | ||||||
| Hardware: | Unspecified | ||||||
| OS: | Unspecified | ||||||
| Whiteboard: | |||||||
| Fixed In Version: | Doc Type: | Bug Fix | |||||
| Doc Text: | Story Points: | --- | |||||
| Clone Of: | Environment: | ||||||
| Last Closed: | 2012-11-21 09:52:51 UTC | Type: | --- | ||||
| Regression: | --- | Mount Type: | fuse | ||||
| Documentation: | --- | CRM: | |||||
| Verified Versions: | Category: | --- | |||||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
| Cloudforms Team: | --- | Target Upstream Version: | |||||
| Attachments: |
|
||||||
|
Description
Anush Shetty
2012-03-06 09:20:40 UTC
I think its expected behavior. Can you turn flush-behind off and try again? It should not give EAGAIN with flush-behind off. I tried with flush-behind off using volume set, but still see the same problem. Anush, can you please confirm behavior on qa33? Hi Vijay, still see this issue on qa33. locktests doesnt' fail while attempting to set WRITE LOCK on WRITE LOCK on 17b0814243b4ccd56c0ce570b7f42d5e572e1e71 (git commit-id), it 'fails' in "READ LOCK THE WHOLE FILE BYTE BY BYTE" and its WRITE counterpart. I am changing the synopsis to reflect this. The commit log message explains the reason why the issue is observed. CHANGE: http://review.gluster.com/3306 (locks: Set flock.l_type on successful F_UNLCK to signal last unlock on fd.) merged in master by Anand Avati (avati) Created attachment 583779 [details]
The Python script helps in testing "last unlock based unref'ing" in NLM.
./simplepy /path/to/file
The script takes two write locks (fcntl) on 'adjacent' regions, on an fd and unlocks the same. To verify if the last unlock on the fd has the flock.l_type set to F_UNLCK and F_RDLCK otherwise, one must 'gdb' into one of the 'lock servers' (brick) and add breakpoint on pl_lk.
This is still seen on fuse mount ( latest commit id-0cdb1d147afd644153855f6557bf7e809e5444f0). I had filed this bug for fuse mount. (In reply to comment #8) > This is still seen on fuse mount ( latest commit > id-0cdb1d147afd644153855f6557bf7e809e5444f0). I had filed this bug for fuse > mount. Anush, The fix is agnostic to the type of mount. The mention of NLM in the bug and commit log is because of what NLM expects of the locks xlator for its smooth functioning. I am unable to recreate the issue on the commit-id you've mentioned. It would be better if you could provide access to the setup where you are seeing this issue. It would also help if you can attach the output of locktests, which says which test(s) in the collection of tests failed. Unable to recreate this issue in a couple of different setups. Removing target milestone 3.3.0, since it is not reproducible consistently. closing it as WORKSFORME as in none of our unittesting we could hit it again, If seen again, please re-open. |