I/O errors observed in the application side after a failure to unlink a stale 'linkto' file.
Issue
Applications running in the top of gluster volumes mounted using the native GlusterFUSE client might get I/O errors when a stale linkto
file is unlinked.
The errors observed in the client mount log look like these ones:
[2018-09-28 13:20:10.572781] I [MSGID: 109045] [dht-common.c:3343:dht_lookup_cbk] 2-volume-dht: linkfile not having link subvol for /dir1/file1
[2018-09-28 13:20:10.589411] I [MSGID: 109069] [dht-common.c:2103:dht_lookup_unlink_of_false_linkto_cbk] 2-volume-dht: lookup_unlink returned with op_ret -> -1 and op-errno -> 2 for /dir1/file1
[2018-09-28 13:20:10.589488] W [fuse-bridge.c:540:fuse_entry_cbk] 0-glusterfs-fuse: 69476748: LOOKUP() /dir1/file1 => -1 (Input/output error)
The lookup_unlink
routine returns error 2, which is ENOENT
.
This issue is more frequently observed if the parameter performance.parallel-readdir
is enabled, although this problem can be hit also without it.
Environment
Red Hat Gluster Storage 3.x versions below 3.4.2
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.