client::mkdirs not handle well when two clients send mkdir request for a same dir
suppose we got two clients trying to make two level directory:
client1 mkdirs: a/b
client2 mkdirs: a/c
in function "Client::mkdirs", it is possible that client1 and client2 all get -ENOENT when lookup "a" almost the same time, since _lookup only need the AUTH_SHARED caps.
then client1 and client2 will all send _mkdir request to MDS server, this will cause client1 or client2 got -EEXIST and just return without _mkdir b or c.