Project

General

Profile

Actions

Tasks #1005

closed

Bug #910: Multi-MDS Ceph does not pass fsstress

xlock is not unpinning during rename across MDSes

Added by Greg Farnum about 13 years ago. Updated about 13 years ago.

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

0%

Tags:
Reviewed:
Affected Versions:
Pull request ID:

Description

See logs in kai:~gregf/logs/fsstress/freeze_tree_assert.

I managed to narrow it down to inode 20000000166 having an authpin that's not removed. The auth_pin is taken during a slave rename -- there's a slave auth_pin and an xlock. It looks like the slave authpin is being put, but for some reason the xlock auth_pin is not being taken care of. Perhaps the check is failing:

        if((!lock->is_stable() &&
            lock->get_sm()->states[lock->get_next_state()].next == 0) &&
            !lock->is_locallock()) {

I added a debug output for that case in my local repo, but from what I can see that check should have succeeded, which makes me think it's getting taken out of the mdr xlock list somewhere. Nothing turned up in a code audit, though...

Actions

Also available in: Atom PDF