Re: mds sync wrlock

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

 



On Jun 27, 2011, at 4:53 AM, huang jun wrote:

> 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" ?

Hmm. Which locks specifically are getting wrlock'ed in dir a? In general it shouldn't be taking locks there to make files in dir b, although it can happen in various circumstances for certain of the locks.

Also, what versions are you using of the server code and your client?
-Greg--
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