[Gluster-devel] 1402538 : Assertion failure during rebalance of symbolic links
Raghavendra Gowdappa
rgowdapp at redhat.com
Thu Dec 15 11:48:51 UTC 2016
I need to step back a little to understand the RCA correctly.
If I understand the code correctly, the callstack which resulted in failed setattr is (in rebalance process):
dht_lookup -> dht_lookup_cbk -> dht_lookup_everwhere -> dht_lookup_everywhere_cbk -> dht_lookup_everywhere_done -> dht_linkfile_create -> dht_lookup_linkfile_create_cbk -> dht_linkfile_attr_heal -> setattr
However, this setattr doesn't change the file type.
<dht_linkfile_attr_heal>
STACK_WIND (copy, dht_linkfile_setattr_cbk, subvol,
subvol->fops->setattr, ©_local->loc,
&stbuf, (GF_SET_ATTR_UID | GF_SET_ATTR_GID), xattr);
</dht_linkfile_attr_heal>
As can be seen above, the setattr call only changes UID/GID. So, I am at loss to explain why the file type changed. Has anyone has any other explanation?
regards,
Raghavendra
More information about the Gluster-devel
mailing list