From 4bbb0ecfac59f2ae8816640c516bb20b0b06aa44 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#1665803 Signed-off-by: Krutika Dhananjay (cherry picked from commit aa28fe32364e39981981d18c784e7f396d56153f) --- xlators/features/shard/src/shard.c | 1 + 1 file changed, 1 insertion(+) diff --git a/xlators/features/shard/src/shard.c b/xlators/features/shard/src/shard.c index ca91d4af65e..1e6a0205810 100644 --- a/xlators/features/shard/src/shard.c +++ b/xlators/features/shard/src/shard.c @@ -3500,6 +3500,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