Project

General

Profile

Actions

Feature #495

closed

mds: add MIX_STALE

Added by Sage Weil over 13 years ago. Updated over 7 years ago.

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

100%

Source:
Tags:
Backport:
Reviewed:
Affected Versions:
Component(FS):
Labels (FS):
Pull request ID:

Description


inode auth                 dirfrag auth
auth                       (inode replica)

v1 0                       (v1 10)/(v1 0) (dirty)  MIX

...gather...               SYNC or LOCK
  sum
v2 10 
...scatter...

                           if !frozen, journal dirfrag, set accounted_fragstat = fragstat, and version
                           (v2 10)/(v2 10)   
                           MIX

                           MIX_STALE
                           (v1 10)/(v1 10)

...gather...

crash...replay

 rejoin needs to put us in MIX_STALE if our fragstat versions are older than the inode's

...gather...
  sum

r -> a REQNUDGE
a -> *
* -> a
a -> j
j -> a
a -> * SYNC
r -> j (async)
r -> a REQSCATTER
a -> * AC_MIX   stop reading
* -> a MIX_ACK
a -> * AC_MIX2  ok now you can write

r -> a REQTEMPSYNC
a -> *
* -> a
a -> j
j -> a  auth now TSYN
a -> * AC_MIX  ok now you can write
r -> j (async)

r drain all requests and locks
r unwind

a r1 r2

a -> r1,r2 SYNC
r1 is pinned,doesn't reply
r2 -> a SYNC_ACK without tree (not auth yet)
r1 sends frozen subtree to r2
unfreeze
unscatter_pin
r1 -> a (not including tree, not auth anymore)
a finishes gather, updates inode.
Actions #1

Updated by Greg Farnum over 13 years ago

  • Status changed from New to In Progress

A first pass is done and pushed to the mix_stable branch. Testing and debugging now, but that may take a while.

Actions #2

Updated by Greg Farnum over 13 years ago

  • Assignee changed from Greg Farnum to Sage Weil

Sage has been working on this today.

Actions #3

Updated by Sage Weil over 13 years ago

  • Status changed from In Progress to Resolved

commit:fc9059e5270380c3266f7f958da6a8cc9b042f22

Actions #4

Updated by Sage Weil over 13 years ago

  • Status changed from Resolved to 7
  • % Done changed from 0 to 90
Actions #5

Updated by Sage Weil over 13 years ago

  • Status changed from 7 to Resolved

merged in commit:0b1909209800229f5098cdc848fc3901508c1e19. best part of this is MIX_STALE went away. yay!

Actions #6

Updated by Sage Weil over 13 years ago

  • % Done changed from 90 to 100
Actions #7

Updated by John Spray over 7 years ago

  • Project changed from Ceph to CephFS
  • Category deleted (1)
  • Target version deleted (v0.23)

Bulk updating project=ceph category=mds bugs so that I can remove the MDS category from the Ceph project to avoid confusion.

Actions

Also available in: Atom PDF