]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
mds: close exported dirfrag
authorSage Weil <sage@newdream.net>
Thu, 17 Mar 2011 22:09:15 +0000 (15:09 -0700)
committerSage Weil <sage.weil@dreamhost.com>
Fri, 1 Apr 2011 21:34:32 +0000 (14:34 -0700)
commit6fcecbc129da19c4fadf67fb6ad25f7af479d2d8
treed1800ba594ef9f5bb53742656729e12c1608127b
parent5d998a7a0d9d100d8512ece4bca710d8e1810380
mds: close exported dirfrag

We have to keep export bounds open for auth subtrees.  After we export a
subtree, though, there are two opportunities to drop empty dirfrags from
our cache:

 - The children of the exported subtree may now be trimmable, if they are
   also non-auth and empty.
 - The exported subtree may be trimmable if it is empty and the parent is
   also non-auth.  This may be true for ancestors further up the hierarchy
   as well.

This helps ensure that when we get to rejoin, the only non-auth subtrees we
have are there because they are non-empty or because they are bounds on our
own subtrees.

Signed-off-by: Sage Weil <sage@newdream.net>
src/mds/MDCache.cc
src/mds/journal.cc