Project

General

Profile

Bug #22546

client: dirty caps may never get the chance to flush

Added by dongdong tao over 1 year ago. Updated 9 months ago.

Status:
Resolved
Priority:
Normal
Assignee:
Category:
-
Target version:
-
Start date:
12/27/2017
Due date:
% 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:

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 over 1 year ago

  • Assignee set to dongdong tao

#3 Updated by Patrick Donnelly over 1 year 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 Need Review
  • Backport set to luminous,jewel
  • Component(FS) Client added

#4 Updated by Patrick Donnelly over 1 year ago

  • Status changed from Need Review to Pending Backport

#5 Updated by Nathan Cutler over 1 year ago

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

#6 Updated by Nathan Cutler over 1 year ago

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

#7 Updated by Patrick Donnelly 9 months ago

  • Status changed from Pending Backport to Resolved

Also available in: Atom PDF