]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
mds: check dn->last when finding existing dentries during replay
authorSage Weil <sage@newdream.net>
Fri, 7 Nov 2008 00:28:17 +0000 (16:28 -0800)
committerSage Weil <sage@newdream.net>
Fri, 7 Nov 2008 17:40:26 +0000 (09:40 -0800)
commitd87e7c1e49f4c2fa09c0d50117b8b388b2a3411b
treeb91df7ec1851f8c1599f666432c5ef3d0c0ea24b
parent607aca901253e85782189f04b58772e9c4a12b6a
mds: check dn->last when finding existing dentries during replay

We can't simply search for an existing dentry based on the name and end
snap, as that may turn up the wrong item.  For example, if we have
[2,head] and the replaying operations cowed that to [2,2] and [3,head], then
if we replay the [2,2] item first we'll find [2,head] (the _wrong_ dentry)
and throw an assertion.

So just check for dn->last != p->dnlast.
src/mds/journal.cc