summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
Diffstat (limited to 'tools')
-rw-r--r--tools/glusterfind/src/brickfind.py8
-rw-r--r--tools/glusterfind/src/changelog.py11
-rw-r--r--tools/glusterfind/src/tool.conf.in1
-rw-r--r--tools/glusterfind/src/utils.py2
4 files changed, 17 insertions, 5 deletions
diff --git a/tools/glusterfind/src/brickfind.py b/tools/glusterfind/src/brickfind.py
index 4aee225d22e..1090f408e28 100644
--- a/tools/glusterfind/src/brickfind.py
+++ b/tools/glusterfind/src/brickfind.py
@@ -55,13 +55,17 @@ def brickfind_crawl(brick, args):
path = path[brick_path_len+1:]
output_write(fout, path, args.output_prefix)
+ ignore_dirs = [os.path.join(brick, dirname)
+ for dirname in
+ conf.get_opt("brick_ignore_dirs").split(",")]
+
if args.full:
find(brick, callback_func=output_callback,
- ignore_dirs=[".glusterfs"])
+ ignore_dirs=ignore_dirs)
else:
find(brick, callback_func=output_callback,
filter_func=mtime_filter,
- ignore_dirs=[".glusterfs"])
+ ignore_dirs=ignore_dirs)
fout.flush()
os.fsync(fout.fileno())
diff --git a/tools/glusterfind/src/changelog.py b/tools/glusterfind/src/changelog.py
index b7697ea5030..262cb696c78 100644
--- a/tools/glusterfind/src/changelog.py
+++ b/tools/glusterfind/src/changelog.py
@@ -85,10 +85,13 @@ def gfid_to_path_using_batchfind(brick, gfids_file, output_file):
path = path[brick_path_len+1:]
output_write(fout, path, args.output_prefix)
+ ignore_dirs = [os.path.join(brick, dirname)
+ for dirname in
+ conf.get_opt("brick_ignore_dirs").split(",")]
# Length of brick path, to remove from output path
find(brick, callback_func=output_callback,
filter_func=inode_filter,
- ignore_dirs=[".glusterfs"])
+ ignore_dirs=ignore_dirs)
fout.flush()
os.fsync(fout.fileno())
@@ -166,12 +169,16 @@ def gfid_to_path_using_pgfid(brick, gfids_file, output_file, outfile_failures):
path = path[brick_path_len+1:]
output_write(fout, path, args.output_prefix)
+ ignore_dirs = [os.path.join(brick, dirname)
+ for dirname in
+ conf.get_opt("brick_ignore_dirs").split(",")]
+
for pgfid in pgfids:
path = symlink_gfid_to_path(brick, pgfid)
find(os.path.join(brick, path),
callback_func=output_callback,
filter_func=inode_filter,
- ignore_dirs=[".glusterfs"],
+ ignore_dirs=ignore_dirs,
subdirs_crawl=False)
fout.flush()
diff --git a/tools/glusterfind/src/tool.conf.in b/tools/glusterfind/src/tool.conf.in
index bae46499aa0..48ecdda06cc 100644
--- a/tools/glusterfind/src/tool.conf.in
+++ b/tools/glusterfind/src/tool.conf.in
@@ -5,6 +5,7 @@ working_dir=@GLUSTERFSD_MISCDIR@/glusterfind/
log_dir=/var/log/glusterfs/glusterfind/
nodecleanup=@GLUSTERFS_LIBEXECDIR@/glusterfind/nodecleanup.py
changelog_rollover_time=15
+brick_ignore_dirs=.glusterfs,.trashcan
[change_detectors]
changelog=@GLUSTERFS_LIBEXECDIR@/glusterfind/changelog.py
diff --git a/tools/glusterfind/src/utils.py b/tools/glusterfind/src/utils.py
index c503a2b9f58..de9c027e299 100644
--- a/tools/glusterfind/src/utils.py
+++ b/tools/glusterfind/src/utils.py
@@ -21,7 +21,7 @@ ROOT_GFID = "00000000-0000-0000-0000-000000000001"
def find(path, callback_func=lambda x: True, filter_func=lambda x: True,
ignore_dirs=[], subdirs_crawl=True):
- if os.path.basename(path) in ignore_dirs:
+ if path in ignore_dirs:
return
if filter_func(path):