From: Yan, Zheng Date: Mon, 16 Jan 2017 16:36:15 +0000 (+0800) Subject: mds: cleanup Migrator::decode_import_inode() X-Git-Tag: v12.0.0~43^2~6 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=e7d6c854d66a44ceb67209661df4af8123c297bf;p=ceph.git mds: cleanup Migrator::decode_import_inode() EMetaBlob::add_primary_dentry() updates inode's last_journaled. No need to do the same job in Migrator::decode_import_inode() Signed-off-by: Yan, Zheng --- diff --git a/src/mds/Migrator.cc b/src/mds/Migrator.cc index 361d4d662d3..d9c867ea802 100644 --- a/src/mds/Migrator.cc +++ b/src/mds/Migrator.cc @@ -2748,8 +2748,8 @@ void Migrator::import_finish(CDir *dir, bool notify, bool last) } -void Migrator::decode_import_inode(CDentry *dn, bufferlist::iterator& blp, mds_rank_t oldauth, - LogSegment *ls, uint64_t log_offset, +void Migrator::decode_import_inode(CDentry *dn, bufferlist::iterator& blp, + mds_rank_t oldauth, LogSegment *ls, map >& peer_exports, list& updated_scatterlocks) { @@ -2772,9 +2772,6 @@ void Migrator::decode_import_inode(CDentry *dn, bufferlist::iterator& blp, mds_r // state after link -- or not! -sage in->decode_import(blp, ls); // cap imports are noted for later action - // note that we are journaled at this log offset - in->last_journaled = log_offset; - // caps decode_import_inode_caps(in, true, blp, peer_exports); @@ -2972,8 +2969,8 @@ int Migrator::decode_import_dir(bufferlist::iterator& blp, else if (icode == 'I') { // inode assert(le); - decode_import_inode(dn, blp, oldauth, ls, le->get_metablob()->event_seq, - peer_exports, updated_scatterlocks); + decode_import_inode(dn, blp, oldauth, ls, + peer_exports, updated_scatterlocks); } // add dentry to journal entry diff --git a/src/mds/Migrator.h b/src/mds/Migrator.h index 75170f5fe3d..75561442183 100644 --- a/src/mds/Migrator.h +++ b/src/mds/Migrator.h @@ -303,8 +303,8 @@ public: void handle_export_dir(MExportDir *m); public: - void decode_import_inode(CDentry *dn, bufferlist::iterator& blp, mds_rank_t oldauth, - LogSegment *ls, uint64_t log_offset, + void decode_import_inode(CDentry *dn, bufferlist::iterator& blp, + mds_rank_t oldauth, LogSegment *ls, map >& cap_imports, list& updated_scatterlocks); void decode_import_inode_caps(CInode *in, bool auth_cap, bufferlist::iterator &blp, diff --git a/src/mds/Server.cc b/src/mds/Server.cc index d83aa2f31f9..0eefba49d28 100644 --- a/src/mds/Server.cc +++ b/src/mds/Server.cc @@ -6645,9 +6645,7 @@ version_t Server::_rename_prepare_import(MDRequestRef& mdr, CDentry *srcdn, buff prepare_force_open_sessions(mdr->more()->imported_client_map, mdr->more()->sseq_map); list updated_scatterlocks; - mdcache->migrator->decode_import_inode(srcdn, blp, - srcdn->authority().first, - mdr->ls, 0, + mdcache->migrator->decode_import_inode(srcdn, blp, srcdn->authority().first, mdr->ls, mdr->more()->cap_imports, updated_scatterlocks); // hack: force back to !auth and clean, temporarily