From 486b07dfc33782d27e3458659cdd6090f496ad35 Mon Sep 17 00:00:00 2001 From: Ravishankar N Date: Wed, 25 Nov 2015 09:49:19 +0530 Subject: glusterd/afr: store afr pending xattrs as a volume option Backport of http://review.gluster.org/#/c/12738/ Problem: When AFR xlator initialises, it uses the name of the client xlators below it for storing the pending changelogs (xattrs). This can be problem when some other xlator is loaded in between AFR and the client. Though that is a trivial 'traverse-graph-till-the-client-and-use-the-name' fix in AFR's init(), there are other issues like when there's no client xlator at all when, say, AFR is moved to the server side. Fix: The client xlator names are currenly unique and stored as brickinfo->brick_ids. So persist these ids as comma separated values in AFR's volume_options and use them as xattr values during init(). Change-Id: Ie761ffeb3373a4c4d85ad05c84a768c4188aa90d BUG: 1291985 Signed-off-by: Ravishankar N Reviewed-on: http://review.gluster.org/12977 Tested-by: NetBSD Build System Reviewed-by: Pranith Kumar Karampuri Tested-by: Gluster Build System --- tests/bugs/glusterfs/bug-853690.t | 1 + 1 file changed, 1 insertion(+) (limited to 'tests/bugs/glusterfs/bug-853690.t') diff --git a/tests/bugs/glusterfs/bug-853690.t b/tests/bugs/glusterfs/bug-853690.t index 59facfcddb0..7880b64488f 100755 --- a/tests/bugs/glusterfs/bug-853690.t +++ b/tests/bugs/glusterfs/bug-853690.t @@ -53,6 +53,7 @@ end-volume volume test-replicate-0 type cluster/replicate + option afr-pending-xattr test-locks-0,test-locks-1 option background-self-heal-count 0 subvolumes test-locks-0 test-locks-1 end-volume -- cgit