Joaquim Rocha
2014-10-17 09:28:17 UTC
Hi,
I need to get a list of xattrs from one object (so I'm batching them in
one ObjectReadOperation) but I don't know in advance if all of those
xattrs exist.
I was expecting to figure out the ones that don't exist from the return
code of each getxattr call but I have however noticed that as soon one
nonexistent xattr is processed, its return code gets correctly set to
-ENODATA but the remaining xattrs are never checked. And what is worse,
the remaining getxattr op's return codes get assigned to 0.
I am attaching a small test case I've quickly written that proves the
case. (I am using Ceph 0.80.5)
Could you confirm that this is not the intended behavior (that all read
op's calls should be processed)?
Thank you in advance,
--
Joaquim Rocha
http://www.joaquimrocha.com
I need to get a list of xattrs from one object (so I'm batching them in
one ObjectReadOperation) but I don't know in advance if all of those
xattrs exist.
I was expecting to figure out the ones that don't exist from the return
code of each getxattr call but I have however noticed that as soon one
nonexistent xattr is processed, its return code gets correctly set to
-ENODATA but the remaining xattrs are never checked. And what is worse,
the remaining getxattr op's return codes get assigned to 0.
I am attaching a small test case I've quickly written that proves the
case. (I am using Ceph 0.80.5)
Could you confirm that this is not the intended behavior (that all read
op's calls should be processed)?
Thank you in advance,
--
Joaquim Rocha
http://www.joaquimrocha.com