[Gluster-devel] mkdir race condition

Emmanuel Dreyfus manu at netbsd.org
Sat May 19 17:34:51 UTC 2012


On a replicated volume, mkdir quickly followed by the rename of a new
directory child fails. 

# rm -Rf test && mkdir test && touch test/a && mv test/a test/b
mv: rename test/a to test/b: No such file or directory
# rm -Rf test && mkdir test && sleep 1 && touch test/a && mv test/a test/b
(it works)

Client log:
[2012-05-19 18:49:43.933090] W [client3_1-fops.c:327:client3_1_mkdir_cbk]
0-pfs-client-0: remote operation failed: No such file or directory. Path:
/test (00000000-0000-0000-0000-000000000000)
[2012-05-19 18:49:43.944883] W [client3_1-fops.c:1595:client3_1_entrylk_cbk]
0-pfs-client-0: remote operation failed: No such file or directory
[2012-05-19 18:49:43.946265] W [client3_1-fops.c:1595:client3_1_entrylk_cbk]
0-pfs-client-0: remote operation failed: No such file or directory
[2012-05-19 18:49:43.961028] W [client3_1-fops.c:1595:client3_1_entrylk_cbk]
0-pfs-client-0: remote operation failed: No such file or directory
[2012-05-19 18:49:43.961528] W [fuse-bridge.c:1515:fuse_rename_cbk]
0-glusterfs-fuse: 27: /test/a -> /test/b => -1 (No such file or directory)



Server log:

[2012-05-19 18:49:58.455280] E
[posix-handle.c:412:posix_handle_mkdir_hashes] 0-pfs-posix: error mkdir
hash-1 /export/wd3a/.glusterfs/f6/8b (No such file or directory)
[2012-05-19 18:49:58.455384] W [posix-handle.c:521:posix_handle_soft]
0-pfs-posix: mkdir
/export/wd3a/.glusterfs/f6/8b/f68b2a33-a649-4705-9dfd-40a15f22589a failed
(No such file or directory)
[2012-05-19 18:49:58.455425] E [posix.c:968:posix_mkdir] 0-pfs-posix:
setting gfid on /export/wd3a/test failed
[2012-05-19 18:49:58.455558] E [posix.c:1010:posix_mkdir] 0-pfs-posix:
post-operation lstat on parent of /export/wd3a/test failed: No such file or
directory
[2012-05-19 18:49:58.455664] I [server3_1-fops.c:529:server_mkdir_cbk]
0-pfs-server: 41: MKDIR /test (00000000-0000-0000-0000-000000000000) ==> -1
(No such file or directory)
[2012-05-19 18:49:58.467548] I [server3_1-fops.c:346:server_entrylk_cbk]
0-pfs-server: 46: ENTRYLK (null) (--) ==> -1 (No such file or directory)
[2012-05-19 18:49:58.468990] I [server3_1-fops.c:346:server_entrylk_cbk]
0-pfs-server: 47: ENTRYLK (null) (--) ==> -1 (No such file or directory)
[2012-05-19 18:49:58.483726] I [server3_1-fops.c:346:server_entrylk_cbk]
0-pfs-server: 51: ENTRYLK (null) (--) ==> -1 (No such file or directory)


It says it fails, but it seems it succeeded:

silo# getextattr -x trusted.gfid  /export/wd3a/test
/export/wd3a/test       
   000   f6 8b 2a 33 a6 49 47 05 9d fd 40 a1 5f 22 58 9a    ..*3.IG... at ._"X.

Client is release-3.3 from yesterday. Server is master branch from may 14th.
Is it a known problem?


-- 
Emmanuel Dreyfus
http://hcpnet.free.fr/pubz
manu at netbsd.org




More information about the Gluster-devel mailing list