hi,all now,we test the directory operation in ceph,and found follow phenomenons: we mount ceph on /mnt/test/ then create dir "/mnt/test/a/b/" 1) in dir "b" , use "seq 3000|xargs -i mkdir {}" to create 3000 dirs 2) and at some time,make a directory "c" in "a" then step 2) returns very slow,from the debug log,we got : step 2) will block until step 1) finished because step 2) need a sync wrlock of dir "a", but step 1) got the wrlock in predirectory_journal_parents function until it finished works . so i have few questions: a) why step 1) got the wrlock of dir "a" ? I think it should just hold the wrlock of dir "b",but not dir "a". b) why circularly judge the variable "stop" value of all the parent directory of dir "b" ? best regards! -- To unsubscribe from this list: send the line "unsubscribe ceph-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html