Project

General

Profile

Bug #22546

client: dirty caps may never get the chance to flush

Added by dongdong tao almost 3 years ago. Updated about 2 years ago.

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

0%

Source:
Tags:
Backport:
luminous,jewel
Regression:
No
Severity:
2 - major
Reviewed:
Affected Versions:
ceph-qa-suite:
Component(FS):
Client
Labels (FS):
Pull request ID:
Crash signature:

Description

currently, we flush the caps in function Client::flush_caps_sync
but there is a bug in this funcion.

because the two list delayed_caps and cap_list shared the same inode item.
so one dirty inode should always exist in one of them, otherwise, the dirty caps would never be flushed.
but in this function, when we first pop an inode item out from the list "delayed_caps", and it was not added to cap_list
later maybe this inode got dirty caps again, and we call unmount/sync_fs -> flush_caps_sync.
this time that inode's dirty cap would not be flushed at all.


Related issues

Copied to fs - Backport #22696: luminous: client: dirty caps may never get the chance to flush Resolved
Copied to fs - Backport #22697: jewel: client: dirty caps may never get the chance to flush Rejected

History

#2 Updated by Jos Collin almost 3 years ago

  • Assignee set to dongdong tao

#3 Updated by Patrick Donnelly almost 3 years ago

  • Subject changed from dirty caps may never get the chance to flush to client: dirty caps may never get the chance to flush
  • Status changed from New to Fix Under Review
  • Backport set to luminous,jewel
  • Component(FS) Client added

#4 Updated by Patrick Donnelly almost 3 years ago

  • Status changed from Fix Under Review to Pending Backport

#5 Updated by Nathan Cutler almost 3 years ago

  • Copied to Backport #22696: luminous: client: dirty caps may never get the chance to flush added

#6 Updated by Nathan Cutler almost 3 years ago

  • Copied to Backport #22697: jewel: client: dirty caps may never get the chance to flush added

#7 Updated by Patrick Donnelly about 2 years ago

  • Status changed from Pending Backport to Resolved

Also available in: Atom PDF