From: Sage Weil Date: Tue, 5 Aug 2008 03:55:45 +0000 (-0700) Subject: mds: handle realm split in open_snaprealm() X-Git-Tag: v0.4~325 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=128c72855787964612608d593ce605ecace0a745;p=ceph.git mds: handle realm split in open_snaprealm() --- diff --git a/src/mds/CInode.cc b/src/mds/CInode.cc index 6af5f67adc087..ddeb18233f35d 100644 --- a/src/mds/CInode.cc +++ b/src/mds/CInode.cc @@ -1202,12 +1202,13 @@ void CInode::open_snaprealm() SnapRealm *parent = find_snaprealm(); snaprealm = new SnapRealm(mdcache, this); if (parent) { - snaprealm->parent = parent; - parent->open_children.insert(snaprealm); - dout(10) << " opened snaprealm " << snaprealm + dout(10) << "open_snaprealm " << snaprealm << " parent is " << parent << " siblings are " << parent->open_children << dendl; + snaprealm->parent = parent; + parent->split_at(snaprealm); + parent->open_children.insert(snaprealm); } } } diff --git a/src/mds/MDCache.cc b/src/mds/MDCache.cc index 113e0a4515ad1..1615378b70a97 100644 --- a/src/mds/MDCache.cc +++ b/src/mds/MDCache.cc @@ -6134,7 +6134,6 @@ void MDCache::_snaprealm_create_finish(MDRequest *mdr, Mutation *mut, CInode *in SnapRealm *parent = in->snaprealm->parent; assert(parent); assert(parent->open_children.count(in->snaprealm)); - parent->split_at(in->snaprealm); // notify clients of update|split list split_inos; diff --git a/src/mds/journal.cc b/src/mds/journal.cc index d0778d8c0f151..348ef98d5f3a0 100644 --- a/src/mds/journal.cc +++ b/src/mds/journal.cc @@ -434,12 +434,6 @@ void EMetaBlob::replay(MDS *mds, LogSegment *logseg) } } } - - if (do_snap_split && in->snaprealm) { - dout(10) << "EMetaBlob.reply splitting snaprealm" << dendl; - in->snaprealm->parent->split_at(in->snaprealm); - } - } // remote dentries