Project

General

Profile

Actions

Bug #4746

closed

client: invalidate callback can deadlock

Added by Greg Farnum about 11 years ago. Updated over 9 years ago.

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

0%

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

Description

I saw this when testing the fix for #3637. We appear to be (correctly) safe against deadlocks on our own locks, but we didn't account for deadlocks on the VFS locks when doing invalidates. Which means that if we try to invalidate at the same time as the VFS is asking us to read, we deadlock.

We may need to introduce a second locking layer to deal with this, that covers draining out all VFS requests before we do our own invals...blech.
(This is probably not for Cuttlefish; I'm testing without the invalidate callback and will probably turn it off for now, sadly.)

Actions

Also available in: Atom PDF