From 1d5dfce606217d5e2e1c71f89fab5aca100620a2 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: 1359020 Signed-off-by: Kotresh HR (cherry picked from commit 8c47b19fc057f08c47444ef557503e610c707128) Reviewed-on: http://review.gluster.org/14983 NetBSD-regression: NetBSD Build System Smoke: Gluster Build System CentOS-regression: Gluster Build System Reviewed-by: Venky Shankar Tested-by: Venky Shankar --- xlators/features/bit-rot/src/bitd/bit-rot-scrub.c | 8 ++++++++ 1 file changed, 8 insertions(+) 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 e0772f87d65..d50f40a860e 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