summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAravinda VK <avishwan@redhat.com>2015-03-19 15:39:20 +0530
committerKaleb KEITHLEY <kkeithle@redhat.com>2015-03-30 05:35:32 -0700
commit6a3024fe5953f51b51a7b9c2867d59c9e54c6d03 (patch)
tree77d84edb8dbf92b8f73a9bec3315e31e2ae86f0d
parentaff367a601351ff7bfbfc572d6ae0d4ffafae0f0 (diff)
tools/glusterfind: Ignore .trashcan dir during Brick Crawl
BUG: 1203650 Change-Id: Icf81726ad34bd5cfec6d8e06763b02a159e84c2e Signed-off-by: Aravinda VK <avishwan@redhat.com> Reviewed-on: http://review.gluster.org/10010 Reviewed-by: Kotresh HR <khiremat@redhat.com> Reviewed-by: Prashanth Pai <ppai@redhat.com> Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Kaleb KEITHLEY <kkeithle@redhat.com>
-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):