backend-xattr-sanitize.sh: script added to extras/
Run the script as: sh$ ./backend-xattr-sanitize.sh /data/export0 and it will remove all the known stale xattrs on the backend files and dirs
This commit is contained in:
parent
babc4dfb08
commit
adb56cb5e0
@ -5,7 +5,7 @@ EditorMode_DATA = glusterfs-mode.el glusterfs.vim
|
||||
|
||||
SUBDIRS = init.d benchmarking
|
||||
|
||||
EXTRA_DIST = specgen.scm MacOSX/Portfile glusterfs-mode.el glusterfs.vim migrate-unify-to-distribute.sh
|
||||
EXTRA_DIST = specgen.scm MacOSX/Portfile glusterfs-mode.el glusterfs.vim migrate-unify-to-distribute.sh backend-xattr-sanitize.sh
|
||||
|
||||
CLEANFILES =
|
||||
|
||||
|
66
extras/backend-xattr-sanitize.sh
Executable file
66
extras/backend-xattr-sanitize.sh
Executable file
@ -0,0 +1,66 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Each entry in the array below is a regular expression to match stale keys
|
||||
|
||||
xs=("trusted.glusterfs.createtime"
|
||||
"trusted.glusterfs.version"
|
||||
"trusted.glusterfs.afr.data-pending"
|
||||
"trusted.glusterfs.afr.metadata-pending"
|
||||
"trusted.glusterfs.afr.entry-pending")
|
||||
|
||||
absolute_path()
|
||||
{
|
||||
local dir=$(dirname "$1");
|
||||
local base=$(basename "$1");
|
||||
cd "$dir";
|
||||
echo $(pwd)/"$base";
|
||||
cd - >/dev/null;
|
||||
}
|
||||
|
||||
|
||||
cleanup()
|
||||
{
|
||||
sanitizee=$(absolute_path "$1");
|
||||
|
||||
stale_keys=$(
|
||||
for pattern in ${xs[@]}; do
|
||||
getfattr -d -m "$pattern" "$sanitizee" 2>/dev/null |
|
||||
grep = | cut -f1 -d=;
|
||||
done
|
||||
)
|
||||
|
||||
if [ -z "$stale_keys" ]; then
|
||||
return;
|
||||
fi
|
||||
|
||||
for key in $stale_keys; do
|
||||
echo "REMOVEXATTR ($key) $sanitizee";
|
||||
setfattr -x "$key" "$sanitizee";
|
||||
done
|
||||
}
|
||||
|
||||
|
||||
crawl()
|
||||
{
|
||||
this_script=$(absolute_path "$0");
|
||||
|
||||
export sanitize=yes;
|
||||
find "$1" -exec "$this_script" {} \;
|
||||
}
|
||||
|
||||
|
||||
main()
|
||||
{
|
||||
if [ -z "$1" ]; then
|
||||
echo "Usage: $0 <export-dir>"
|
||||
return 1
|
||||
fi
|
||||
|
||||
if [ "$sanitize" = "yes" ]; then
|
||||
cleanup "$@";
|
||||
else
|
||||
crawl "$@";
|
||||
fi
|
||||
}
|
||||
|
||||
main "$@"
|
Loading…
x
Reference in New Issue
Block a user