From 8c47b19fc057f08c47444ef557503e610c707128 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 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: 1355706 Signed-off-by: Kotresh HR Reviewed-on: http://review.gluster.org/14903 Smoke: Gluster Build System CentOS-regression: Gluster Build System CentOS-regression: NetBSD Build System NetBSD-regression: NetBSD Build System Reviewed-by: Jeff Darcy --- xlators/features/bit-rot/src/bitd/bit-rot-scrub.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'xlators/features/bit-rot') 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 2f7ec09697b..cb04235cb03 100644 --- a/xlators/features/bit-rot/src/bitd/bit-rot-scrub.c +++ b/xlators/features/bit-rot/src/bitd/bit-rot-scrub.c @@ -342,10 +342,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