[Gluster-devel] Bug regarding quota.t
Harshavardhana
harsha at harshavardhana.net
Mon Aug 25 05:32:28 UTC 2014
While trying to fix some porting issues i came across a rather a bug
in quota.t testcase implementation or rather an inherent bug of
distribute self-heal.
Quota.t in its 63/64th tests does an add-brick and rebalance to expand
the testing volume. But this is done with a premise of self-heal of
directories after the rebalance would help in propagating
"trusted.quota.limit-set" extended attributes.
Now after the rebalance is completed 66/67th test use the following
CLi style for 'getfattr'.
~~~
TEST getfattr -d -m "trusted.glusterfs.quota.limit-set" -e hex \
--absolute-names $B0/brick{3,4}/$TESTDIR/dir{1..10};
TEST getfattr -d -m "trusted.glusterfs.quota.limit-set" -e hex \
--absolute-names $B0/brick{3,4};
~~~
One needs to be aware that 'getfattr' with valid or invalid "xattr"
regexes while using "-m" option does not exit with a non zero exit
code.
Observe the following example
# touch test
# getfattr -d -m "trusted.foo" test
# echo $?
0
The problem here is that on "$B0/brick{3,4}" the attributes do not
exist, while we are expecting it to be healed back after the
rebalance? is that really necessary? since the 66th test validates
these attributes on "dir{1..10}" ?
The issue i reproduced was after editing the above code to be more
predantic by using "-n"
~~~
TEST getfattr -n trusted.glusterfs.quota.limit-set -e hex \
--absolute-names $B0/brick{3,4}/$TESTDIR/dir{1..10};
TEST getfattr -n trusted.glusterfs.quota.limit-set -e hex \
--absolute-names $B0/brick{3,4};
~~~
Now this leads to 67th test to be a failure always, due to the
aforementioned fact that the xattrs do not exist or neither do they
get healed to its parent directory. Is this a Distribute bug? or is
this a wrong expectation from quota to get the quota xattrs to be
healed on parent brick directory?
Thanks
--
Religious confuse piety with mere ritual, the virtuous confuse
regulation with outcomes
More information about the Gluster-devel
mailing list