From 4511ed196f94f639846b899e6b58f5f6af3fa668 Mon Sep 17 00:00:00 2001 From: Rajesh Amaravathi Date: Tue, 13 Dec 2011 12:58:25 +0530 Subject: extras: clean up a brick's gfid xattr * extras/clear_xattrs.sh: This script enables a brick from a deleted volume(stale brick) to be used in a new volume by clearing all the trusted.gfid xattr from the brick tree. * One should run this script on all machines which have stale bricks if one wants to re-use the same bricks for a new volume. NOTE: This script *SHOULD BE RUN ONLY AFTER STOPPING A VOLUME*, thereby ensuring that no replace-brick or rebalance operations are on-going. Change-Id: I35a4a2784fe502749184b87299b1a043b8e48e90 BUG: 765572 Signed-off-by: Rajesh Amaravathi Reviewed-on: http://review.gluster.com/781 Reviewed-by: Amar Tumballi Tested-by: Gluster Build System Reviewed-by: Vijay Bellur --- extras/clear_xattrs.sh | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100755 extras/clear_xattrs.sh (limited to 'extras') diff --git a/extras/clear_xattrs.sh b/extras/clear_xattrs.sh new file mode 100755 index 00000000000..bdce5b895a3 --- /dev/null +++ b/extras/clear_xattrs.sh @@ -0,0 +1,43 @@ +#!/bin/bash + +# Clear the trusted.gfid xattr in the brick tree + +# This script must be run only on a stopped brick/volume +# Stop the volume to make sure no rebalance/replace-brick +# operations are on-going + +# Not much error checking +remove_xattrs () +{ + find "$1" -exec setfattr -h -x "trusted.gfid" '{}' \; > /dev/null 2>&1; + find "$1" -exec setfattr -h -x "trusted.glusterfs.volume-id" '{}' \; > /dev/null 2>&1; +} + +main () +{ + if [ -z "$1" ]; then + echo "Please specify the brick path(s)"; + exit 1; + fi + + which getfattr > /dev/null 2>&1; + if [ $? -ne 0 ]; then + echo "attr package missing"; + exit 1; + fi + + which setfattr > /dev/null 2>&1; + if [ $? -ne 0 ]; then + echo "attr package missing"; + exit 1; + fi + + for brick in "$@"; + do + echo "xattr clean-up in progress: $brick"; + remove_xattrs "$brick"; + echo "$brick ready to be used as a glusterfs brick"; + done; +} + +main "$@"; \ No newline at end of file -- cgit