On Fri, Oct 19, 2018 at 11:14 AM Marvin Zhang <fanzier@xxxxxxxxx> wrote: > > Hi guys, > I just checked out the code on 12.2.8. I found that Client::open() > (other functions have same problem) will hold a global lock at the > beginning and will release it at the end. Suppose that > Client::path_walk() will check a file which has n layers folder path, > it will send n requests to server and wait for feedback. During that > time, it will hold the global lock. Is it a performance issue and is > there any plan to fix this issue? when waiting for request reply, it will release the lock, > I also checked the code on cephfs kernel driver, the > ceph_mdsc_do_request() will also hold a global lock, but it will > release the lock when it wait. So it seems it's better than libcephfs. > > Thanks, > Marvin Zhang