Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[crypt]: file access problem with encrypt xlator in case one brick is offline #1

Merged
merged 1 commit into from
Dec 18, 2018
Merged

Conversation

kinsu
Copy link
Contributor

@kinsu kinsu commented Dec 18, 2018

Problem:
setup: replica x3 no distribution using encrypt xlator.
if 3 bricks are up all clients are able to access all the files.
if one brick goes down, every client is able to access the files that created.
first lookup is triggered with filename. Then nameless lookup is triggered with gfid and then, finaly, getxattr for trusted.glusterfs.crypt.att.size.
In case the file is created from own client last lookup includes the gfid but if the file is created from different client, although gfid is returned from the first lookup from server, it is not included in the nameless lookup.
This results error from server which of course causes failure in the whole operation.

Solution:
In crypt_lookup_cbk in case type is IA_IFREG the returned gfid from buf->ia_gfid copied in the inode->gfid.

Change-Id: Id2d8a052f55050134241e2f097eb78278a86c78b
fixes: bz#1656000
Signed-off-by: kinsu vpolakis@gmail.com

… down

Problem:
setup: replica x3 no distribution using encrypt xlator.
if 3 bricks are up all clients are able to access all the files.
if one brick goes down, every client is able to access the files that created.
first lookup is triggered with filename. Then nameless lookup is triggered with gfid and then, finaly, getxattr for trusted.glusterfs.crypt.att.size.
In case the file is created from own client last lookup includes the gfid but if the file is created from different client, although gfid is returned from the first lookup from server, it is not included in the nameless lookup.
This results error from server which of course causes failure in the whole operation.

Solution:
In crypt_lookup_cbk in case type is IA_IFREG the returned gfid from buf->ia_gfid copied in the inode->gfid.

Change-Id: Id2d8a052f55050134241e2f097eb78278a86c78b
fixes: bz#1656000
Signed-off-by: kinsu <vpolakis@gmail.com>
@kinsu
Copy link
Contributor Author

kinsu commented Dec 18, 2018

@amarts

@amarts amarts merged commit 3387ef1 into gluster:master Dec 18, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants