summaryrefslogtreecommitdiff
path: root/0528-Extras-Removing-xattr_analysis-script.patch
diff options
context:
space:
mode:
Diffstat (limited to '0528-Extras-Removing-xattr_analysis-script.patch')
-rw-r--r--0528-Extras-Removing-xattr_analysis-script.patch134
1 files changed, 134 insertions, 0 deletions
diff --git a/0528-Extras-Removing-xattr_analysis-script.patch b/0528-Extras-Removing-xattr_analysis-script.patch
new file mode 100644
index 0000000..d04068d
--- /dev/null
+++ b/0528-Extras-Removing-xattr_analysis-script.patch
@@ -0,0 +1,134 @@
+From 3fc74ce6c282f0f43fdcfeda47b71a1b19945b6d Mon Sep 17 00:00:00 2001
+From: srijan-sivakumar <ssivakum@redhat.com>
+Date: Wed, 3 Feb 2021 10:11:04 +0530
+Subject: [PATCH 528/532] Extras: Removing xattr_analysis script
+
+The xattr_analysis.py script is used rarely for
+debugging and seeing that it has some dependencies,
+removing it from the release.
+
+If need be, it would be directly shared with the cu.
+
+Label: DOWNSTREAM ONLY
+BUG: 1719171
+
+Change-Id: I4bb0df3ebfa7e43e13858b4b6e3efbb02ea79d5f
+Signed-off-by: srijan-sivakumar <ssivakum@redhat.com>
+Reviewed-on: https://code.engineering.redhat.com/gerrit/226301
+Tested-by: RHGS Build Bot <nigelb@redhat.com>
+Reviewed-by: Sunil Kumar Heggodu Gopala Acharya <sheggodu@redhat.com>
+---
+ extras/quota/Makefile.am | 4 +--
+ extras/quota/xattr_analysis.py | 73 ------------------------------------------
+ glusterfs.spec.in | 1 -
+ 3 files changed, 2 insertions(+), 76 deletions(-)
+ delete mode 100755 extras/quota/xattr_analysis.py
+
+diff --git a/extras/quota/Makefile.am b/extras/quota/Makefile.am
+index cdb6be1..e4d9322 100644
+--- a/extras/quota/Makefile.am
++++ b/extras/quota/Makefile.am
+@@ -2,7 +2,7 @@ scriptsdir = $(datadir)/glusterfs/scripts
+ scripts_SCRIPTS = log_accounting.sh
+
+ if WITH_SERVER
+-scripts_SCRIPTS += xattr_analysis.py quota_fsck.py
++scripts_SCRIPTS += quota_fsck.py
+ endif
+
+-EXTRA_DIST = log_accounting.sh xattr_analysis.py quota_fsck.py
++EXTRA_DIST = log_accounting.sh quota_fsck.py
+diff --git a/extras/quota/xattr_analysis.py b/extras/quota/xattr_analysis.py
+deleted file mode 100755
+index 7bd7d96..0000000
+--- a/extras/quota/xattr_analysis.py
++++ /dev/null
+@@ -1,73 +0,0 @@
+-#!/usr/bin/python3
+-# Below script has two purposes
+-# 1. Display xattr of entire FS tree in a human readable form
+-# 2. Display all the directory where contri and size mismatch.
+-# (If there are any directory with contri and size mismatch that are not dirty
+-# then that highlights a propagation issue)
+-# The script takes only one input LOG _FILE generated from the command,
+-# find <brick_path> | xargs getfattr -d -m. -e hex > log_gluster_xattr
+-
+-from __future__ import print_function
+-import re
+-import subprocess
+-import sys
+-from hurry.filesize import size
+-
+-if len(sys.argv) < 2:
+- sys.exit('Usage: %s log_gluster_xattr \n'
+- 'to generate log_gluster_xattr use: \n'
+- 'find <brick_path> | xargs getfattr -d -m. -e hex > log_gluster_xattr'
+- % sys.argv[0])
+-LOG_FILE=sys.argv[1]
+-
+-def get_quota_xattr_brick():
+- out = subprocess.check_output (["/usr/bin/cat", LOG_FILE])
+- pairs = out.splitlines()
+-
+- xdict = {}
+- mismatch_size = [('====contri_size===', '====size====')]
+- for xattr in pairs:
+- k = xattr.split("=")[0]
+- if re.search("# file:", k):
+- print(xdict)
+- filename=k
+- print("=====" + filename + "=======")
+- xdict = {}
+- elif k is "":
+- pass
+- else:
+- print(xattr)
+- v = xattr.split("=")[1]
+- if re.search("contri", k):
+- if len(v) == 34:
+- # for files size is obtained in iatt, file count should be 1, dir count=0
+- xdict['contri_file_count'] = int(v[18:34], 16)
+- xdict['contri_dir_count'] = 0
+- else:
+- xdict['contri_size'] = size(int(v[2:18], 16))
+- xdict['contri_file_count'] = int(v[18:34], 16)
+- xdict['contri_dir_count'] = int(v[34:], 16)
+- elif re.search("size", k):
+- xdict['size'] = size(int(v[2:18], 16))
+- xdict['file_count'] = int(v[18:34], 16)
+- xdict['dir_count'] = int(v[34:], 16)
+- elif re.search("dirty", k):
+- if v == '0x3000':
+- xdict['dirty'] = False
+- elif v == '0x3100':
+- xdict['dirty'] = True
+- elif re.search("limit_objects", k):
+- xdict['limit_objects'] = int(v[2:18], 16)
+- elif re.search("limit_set", k):
+- xdict['limit_set'] = size(int(v[2:18], 16))
+-
+- if 'size' in xdict and 'contri_size' in xdict and xdict['size'] != xdict['contri_size']:
+- mismatch_size.append((xdict['contri_size'], xdict['size'], filename))
+-
+- for values in mismatch_size:
+- print(values)
+-
+-
+-if __name__ == '__main__':
+- get_quota_xattr_brick()
+-
+diff --git a/glusterfs.spec.in b/glusterfs.spec.in
+index 30d7162..2be7677 100644
+--- a/glusterfs.spec.in
++++ b/glusterfs.spec.in
+@@ -1380,7 +1380,6 @@ exit 0
+ %if ( 0%{!?_without_server:1} )
+ %files server
+ %doc extras/clear_xattrs.sh
+-%{_datadir}/glusterfs/scripts/xattr_analysis.py*
+ %{_datadir}/glusterfs/scripts/quota_fsck.py*
+ # sysconf
+ %config(noreplace) %{_sysconfdir}/glusterfs
+--
+1.8.3.1
+