]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
mds: properly wake up scatter_nudge waiters after clearing scatter dirty
authorYan, Zheng <zyan@redhat.com>
Tue, 6 Dec 2016 14:52:32 +0000 (22:52 +0800)
committerYan, Zheng <zyan@redhat.com>
Fri, 9 Dec 2016 03:31:04 +0000 (11:31 +0800)
commit0ec25575f4ed4c5d248d360061af7f76e30febb8
treee3436360674a6cc36beef551c000b2d62eb3ea7c
parent57c001335e180868088b329b575f0b24bad8b030
mds: properly wake up scatter_nudge waiters after clearing scatter dirty

LogSegment::try_to_expire() calls Locker::scatter_nudge() for dirty
scatter locks. If lock's parent is non-auth, Locker::scatter_nudge()
waits on the stable bit of corresponding lock. There are some cases
that scatter locks get marked clean without involving lock state
transition. We need to wake up scatter_nudge waiters in these cases.

Also remove the code that clear dirty scatter locks after inode gets
imported. I can't see why we should do that.

Signed-off-by: Yan, Zheng <zyan@redhat.com>
src/mds/Locker.cc
src/mds/MDCache.cc
src/mds/Migrator.cc
src/mds/Server.cc