diff options
author | Krutika Dhananjay <kdhananj@redhat.com> | 2018-12-28 07:27:11 +0530 |
---|---|---|
committer | Xavi Hernandez <xhernandez@redhat.com> | 2019-01-08 12:08:48 +0000 |
commit | aa28fe32364e39981981d18c784e7f396d56153f (patch) | |
tree | 8c3df51cdb02cf27ed33d67ef639666f4553a096 /xlators | |
parent | 37653efdc7681d1b0f255054ec2f9c9ddd4c8b14 (diff) |
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 <kdhananj@redhat.com>
Diffstat (limited to 'xlators')
-rw-r--r-- | xlators/features/shard/src/shard.c | 1 |
1 files changed, 1 insertions, 0 deletions
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) { |