path: root/tools/gfind_missing_files/
diff options
authorKotresh HR <>2015-01-29 15:53:19 +0530
committerVijay Bellur <>2015-03-15 21:20:03 -0700
commit7a9a66cc5fb7f06118fab1fc2ae1c43cfbb1178f (patch)
tree11a1b53b1410c7bd9b9cf2424b2e75118bd86d18 /tools/gfind_missing_files/
parent38e342ca4a2167720bea82d3cee7fca08baba666 (diff)
tools: Finds missing files in gluster volume given backend brickpath
The tool finds the missing files in a geo-replication slave volume. The tool crawls backend .glusterfs of the brickpath, which is passed as a parameter and stats each entry on slave volume mount to check the presence of file. The mount used is aux-gfid-mount, hence no path conversion is required and is fast. The tool needs to be run on every node in cluster for each brickpath of geo-rep master volume to find missing files on slave volume. The tool is generic enough and can be used in non geo-replication context as well. Most of the crawler code is leverged from Avati's xfind and is modified to crawl only .glusterfs ( Thanks Aravinda for scripts to convert gfid to path. Change-Id: I84deaaaf638f7c571ff1319b67a3440fe27da810 BUG: 1187140 Signed-off-by: Aravinda VK <> Signed-off-by: Kotresh HR <> Reviewed-on: Tested-by: Gluster Build System <> Reviewed-by: Vijay Bellur <>
Diffstat (limited to 'tools/gfind_missing_files/')
1 files changed, 24 insertions, 0 deletions
diff --git a/tools/gfind_missing_files/ b/tools/gfind_missing_files/
new file mode 100644
index 00000000000..456aad836b6
--- /dev/null
+++ b/tools/gfind_missing_files/
@@ -0,0 +1,24 @@
+gfindmissingfilesdir = $(libexecdir)/glusterfs/gfind_missing_files
+gfindmissingfiles_SCRIPTS = \
+gfindmissingfiles_PROGRAMS = gcrawler
+gcrawler_SOURCES = gcrawler.c
+AM_CPPFLAGS = $(GF_CPPFLAGS) -I$(top_srcdir)/libglusterfs/src
+ rm -f $(DESTDIR)$(sbindir)/gfind_missing_files
+ rm -f $(DESTDIR)$(sbindir)/gfind_missing_files
+ ln -s $(libexecdir)/glusterfs/gfind_missing_files/ $(DESTDIR)$(sbindir)/gfind_missing_files