diff options
author | Venky Shankar <vshankar@redhat.com> | 2015-03-30 21:46:25 +0530 |
---|---|---|
committer | Vijay Bellur <vbellur@redhat.com> | 2015-04-08 06:43:09 +0000 |
commit | 2dfc36811337666c26e42c13f19eb59a7cef674f (patch) | |
tree | b288162775cec05b3c4711ed10d0fd6b1f88cb6c /tests/bitrot | |
parent | 6a465e6e7e46940e00a387089cc995464975b53d (diff) |
features/bitrot-stub: Enhancement to versioning protocol
.. and potential bug fixes / memleak.
While assigning initial version to an object, both extended attributes
(namely, ongoing version and the default signing version) were persisted.
This is optimized to just persist the ongoing version along with safe
handling of xattr request(s) in it's absence. This is better than the
earlier approach as the two xattr sets were not atomic anyway (allowing
a request to sneak in between between two set operations). This also
allows to perform sanity checks on objects during lookup()/getxattr():
objects with missing ongoing version but presence of signature are
possible candidates of tampering (and catching implementation bugs).
There were couple of instances in the code where versioning xattrs
were incorrectly removed before in-memory versions were initialized,
which have been fixed with this patch. A memory leak in the IPC code
path is also fixed.
Change-Id: I01c690ccfe7156a883582275f40f79a7c10c0900
BUG: 1207054
Signed-off-by: Venky Shankar <vshankar@redhat.com>
Reviewed-on: http://review.gluster.org/10117
Reviewed-by: Raghavendra Bhat <raghavendra@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
Diffstat (limited to 'tests/bitrot')
0 files changed, 0 insertions, 0 deletions