From aa28fe32364e39981981d18c784e7f396d56153f Mon Sep 17 00:00:00 2001 From: Krutika Dhananjay Date: Fri, 28 Dec 2018 07:27:11 +0530 Subject: features/shard: Assign fop id during background deletion to prevent excessive logging ... of the kind "[2018-12-26 05:22:44.195019] E [MSGID: 133010] [shard.c:2253:shard_common_lookup_shards_cbk] 0-volume1-shard: Lookup on shard 785 failed. Base file gfid = cd938e64-bf06-476f-a5d4-d580a0d37416 [No such file or directory]" shard_common_lookup_shards_cbk() has a specific check to ignore ENOENT error without logging them during specific fops. But because background deletion is done in a new frame (with local->fop being GF_FOP_NULL), the ENOENT check is skipped and the absence of shards gets logged everytime. To fix this, local->fop is initialized to GF_FOP_UNLINK during background deletion. Change-Id: I0ca8d3b3bfbcd354b4a555eee520eb0479bcda35 updates: bz#1662368 Signed-off-by: Krutika Dhananjay --- xlators/features/shard/src/shard.c | 1 + 1 file changed, 1 insertion(+) (limited to 'xlators/features/shard/src') diff --git a/xlators/features/shard/src/shard.c b/xlators/features/shard/src/shard.c index 2f656f748c0..eea30b6065b 100644 --- a/xlators/features/shard/src/shard.c +++ b/xlators/features/shard/src/shard.c @@ -3506,6 +3506,7 @@ shard_delete_shards(void *opaque) goto err; } cleanup_frame->local = local; + local->fop = GF_FOP_UNLINK; local->xattr_req = dict_new(); if (!local->xattr_req) { -- cgit