]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
Merge PR #27866 into master
authorPatrick Donnelly <pdonnell@redhat.com>
Sat, 21 Dec 2019 02:16:11 +0000 (18:16 -0800)
committerPatrick Donnelly <pdonnell@redhat.com>
Sat, 21 Dec 2019 02:16:11 +0000 (18:16 -0800)
* 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 <pdonnell@redhat.com>
1  2 
src/client/Client.cc
src/mds/CInode.cc
src/mds/Locker.cc
src/mds/MDCache.cc
src/mds/MDCache.h
src/mds/Migrator.cc
src/mds/Migrator.h
src/mds/Server.cc
src/mds/Server.h

Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
index dad870d4bc7ec17a730aed84a4670e437d4961cf,d7b9baf54aaf980720621c20dd11a73ea051a4b9..eb536f5476a86a69571a382670fd858229d8ce61
@@@ -198,8 -316,9 +198,8 @@@ public
    
    void maybe_split_export(CDir* dir, uint64_t max_size, bool null_okay,
                          vector<pair<CDir*, size_t> >& results);
 -  void child_export_finish(std::shared_ptr<export_base_t>& 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_t> &client_set);
    void get_export_client_set(CInode *in, std::set<client_t> &client_set);
  
Simple merge
Simple merge