From d1ba174fb2c9f2df7dd04ad6e34eeeedbe11bbce Mon Sep 17 00:00:00 2001 From: Kotresh HR Date: Tue, 12 Jul 2016 15:21:23 +0530 Subject: feature/bitrot: Ignore files with sticky bit set Backport of http://review.gluster.org/14903 Scrubber scrubs entries in backend. It is scrubbing files with sticky bit as well. This might include linkfiles which should be skipped. This patch adds the check to ignore linkfiles during scrub. Change-Id: Ic21367b37770d391326c55c659491a1e5a82335b BUG: 1359017 Signed-off-by: Kotresh HR (cherry picked from commit 8c47b19fc057f08c47444ef557503e610c707128) Reviewed-on: http://review.gluster.org/14982 Smoke: Gluster Build System NetBSD-regression: NetBSD Build System CentOS-regression: Gluster Build System Reviewed-by: Vijay Bellur --- xlators/features/bit-rot/src/bitd/bit-rot-scrub.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'xlators/features') diff --git a/xlators/features/bit-rot/src/bitd/bit-rot-scrub.c b/xlators/features/bit-rot/src/bitd/bit-rot-scrub.c index 95ad847bdec..94ddeafa0ff 100644 --- a/xlators/features/bit-rot/src/bitd/bit-rot-scrub.c +++ b/xlators/features/bit-rot/src/bitd/bit-rot-scrub.c @@ -344,10 +344,18 @@ br_scrubber_scrub_begin (xlator_t *this, struct br_fsscan_entry *fsentry) goto unref_inode; } + if (IS_DHT_LINKFILE_MODE ((&iatt))) { + gf_msg_debug (this->name, 0, "%s is a dht sticky bit file", + entry->d_name); + ret = 0; + goto unref_inode; + } + /* skip updating scrub statistics for shard entries */ gf_uuid_parse (SHARD_ROOT_GFID, shard_root_gfid); if (gf_uuid_compare (loc.pargfid, shard_root_gfid) == 0) skip_stat = _gf_true; + /** * open() an fd for subsequent opertaions */ -- cgit