Project

General

Profile

Actions

Bug #52994

closed

client: do not defer releasing caps when revoking

Added by Xiubo Li over 2 years ago. Updated over 2 years ago.

Status:
Resolved
Priority:
High
Assignee:
Category:
-
Target version:
% Done:

0%

Source:
Development
Tags:
Backport:
pacific
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
fs
Component(FS):
Client
Labels (FS):
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

When revoking caps the if we queue to defer releasing them after 5s
or client_caps_release_delay. What if when the client keeps doing
mark_caps_dirty() for that inode in some use cases, the inode will
always be pushed back to the end of dirty_list. And in the tick()
it will check the dirty_list from front and will skip looping it
when it finds current one is not out of date.

This may cause the revocation in the MDS side stuck for a long
time.


Related issues 1 (0 open1 closed)

Copied to CephFS - Backport #53120: pacific: client: do not defer releasing caps when revokingResolvedXiubo LiActions
Actions #1

Updated by Xiubo Li over 2 years ago

The fixing will check the cap immediately instead of queue and defer it when revoking caps.

Actions #2

Updated by Patrick Donnelly over 2 years ago

  • Status changed from New to Fix Under Review
  • Assignee set to Xiubo Li
  • Target version set to v17.0.0
  • Source set to Development
  • Backport set to pacific
Actions #3

Updated by Patrick Donnelly over 2 years ago

  • Status changed from Fix Under Review to Pending Backport
Actions #4

Updated by Backport Bot over 2 years ago

  • Copied to Backport #53120: pacific: client: do not defer releasing caps when revoking added
Actions #5

Updated by Loïc Dachary over 2 years ago

  • Status changed from Pending Backport to Resolved

While running with --resolve-parent, the script "backport-create-issue" noticed that all backports of this issue are in status "Resolved" or "Rejected".

Actions

Also available in: Atom PDF