diff options
author | Krutika Dhananjay <kdhananj@redhat.com> | 2017-03-28 19:26:41 +0530 |
---|---|---|
committer | Pranith Kumar Karampuri <pkarampu@redhat.com> | 2017-03-30 02:15:51 -0400 |
commit | dd5ada1f11d76b4c55c7c55d23718617f11a6c12 (patch) | |
tree | 8bdb38a993070b5e1723016ad7664858fd2a5d03 /.gitignore | |
parent | 0bd58241143e91b683a3e5c4335aabf9eed537fe (diff) |
features/shard: Pass the correct iatt for cache invalidation
This fixes a performance issue with shard which was causing
the translator to trigger unusually high number of lookups
for cache invalidation even when there was no modification to
the file.
In shard_common_stat_cbk(), it is local->prebuf that contains the
aggregated size and block count as opposed to buf which only holds the
attributes for the physical copy of base shard. Passing buf for
inode_ctx invalidation would always set refresh to true since the file
size in inode ctx contains the aggregated size and would never be same
as @buf->ia_size. This was leading to every write/read being preceded
by a lookup on the base shard even when the file underwent no
modification.
Change-Id: Ib0349291d2d01f3782d6d0bdd90c6db5e0609210
BUG: 1436739
Signed-off-by: Krutika Dhananjay <kdhananj@redhat.com>
Reviewed-on: https://review.gluster.org/16961
NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org>
CentOS-regression: Gluster Build System <jenkins@build.gluster.org>
Smoke: Gluster Build System <jenkins@build.gluster.org>
Reviewed-by: Pranith Kumar Karampuri <pkarampu@redhat.com>
Diffstat (limited to '.gitignore')
0 files changed, 0 insertions, 0 deletions