mds sync wrlock

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux