diff options
Diffstat (limited to 'extras/clear_xattrs.sh')
-rwxr-xr-x | extras/clear_xattrs.sh | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/extras/clear_xattrs.sh b/extras/clear_xattrs.sh new file mode 100755 index 000000000..bdce5b895 --- /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 |