-
Notifications
You must be signed in to change notification settings - Fork 513
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
possible lock starvation in lock conflict scenerio #1126
Comments
Hmm, I'd have to think about this. We haven't really addressed lock fairness and there is a question how much energy to put into NFSv3. What does GPFS itself do with this scenario? Also, is this an actual customer scenario or just a torture test that QA came up with? |
This is a customer scenario where performance is degraded due to frequent lock conflicts. Ganesha requests a non-blocking lock instead of a blocking lock, causing GPFS FSAL to return an error. If it were a blocking lock, the request might be queued and granted with priority. |
Lets say
The problem is that the write lock request from Process-2 may starve for a long time if there is continuous conflict in the FSA. I suggest considering upgrading STATE_GRANT_INTERNAL to STATE_GRANT_POLL after the first failure.
In the above code, I guess we need to change
to
The text was updated successfully, but these errors were encountered: