From: Patrick Donnelly Date: Sat, 21 Dec 2019 02:16:11 +0000 (-0800) Subject: Merge PR #27866 into master X-Git-Tag: v15.1.0~404 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=3ebdbd4f55b2c3c7a3188537f5e3796aa70cbde3;p=ceph.git Merge PR #27866 into master * refs/pull/27866/head: mds: fix deadlock when xlocking policylock mds: handle link request with zero depth filepath2 mds: enable lock cache for openc/unlink requests mds: include linkage type in dentry lease mds: cleanup Server::set_trace_dist() mds: define lease mask bits mds: delegete lock cache to client mds: suppress frozen inode when locks of dir operation is cached. mds: invalidate lock caches when freezing dirfrag/subtree mds: invalidate lock caches if they hold conflicting locks mds: initial code for lock cache mds: adjust locking for subtree migration mds: add 'path_locked' flag to MDCache::find_ino_peers() mds: change MDCache::discover_path()'s wants_xlocked semantic mds: introduce Server::rdlock_two_paths_xlock_destdn() mds: make Server::rdlock_path_xlock_dentry take locks mds: make Server::rdlock_path_pin_ref() take dentry rdlocks mds: take snaplock and policylock during path traverse. mds: let Locker::acquire_locks()'s caller choose locking order Reviewed-by: Patrick Donnelly --- 3ebdbd4f55b2c3c7a3188537f5e3796aa70cbde3 diff --cc src/mds/Migrator.h index dad870d4bc7e,d7b9baf54aaf..eb536f5476a8 --- a/src/mds/Migrator.h +++ b/src/mds/Migrator.h @@@ -198,8 -316,9 +198,8 @@@ public void maybe_split_export(CDir* dir, uint64_t max_size, bool null_okay, vector >& results); - void child_export_finish(std::shared_ptr& parent, bool success); - void get_export_lock_set(CDir *dir, MutationImpl::LockOpVec& lov); + bool export_try_grab_locks(CDir *dir, MutationRef& mut); void get_export_client_set(CDir *dir, std::set &client_set); void get_export_client_set(CInode *in, std::set &client_set);