[Bugs] [Bug 1544699] Rolling upgrade to 4.0 is broken

bugzilla at redhat.com bugzilla at redhat.com
Fri Mar 9 22:28:05 UTC 2018


https://bugzilla.redhat.com/show_bug.cgi?id=1544699



--- Comment #6 from Shyamsundar <srangana at redhat.com> ---
There was a further bug in the upgrade process, post any server is upgraded,
directory creation from clients fail with EIO, but the directories are created
on the bricks.

The issue was root caused to iatt corruption.

The reason for the corruption is that, DHT requests and receives iatt
information in the dictionary. This is done for calls in (f)setxattr,
(f)removexattr and unlink. The server brick process encodes this into the xdata
dictionary in the new iatt format, whereas the client maps this to the older
iatt structure, thus mangling the actual values (as the structure definition is
not backward compatible).

The patch posted at comment #5 addresses this issue, by taking action in the
protocol layer, to ensure we send back the right iatt format to the client
based on the protocol dialect.

The downside of this approach is that, at a future time, we cannot add an
option that can force a client to speak the 3.x dialect (akin to a mount option
that can force the client to use the 3.x protocol version), as the client
interpretation of the structure at that point would become mangled.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
Unsubscribe from this bug https://bugzilla.redhat.com/token.cgi?t=C9omnYWNin&a=cc_unsubscribe


More information about the Bugs mailing list