diff options
author | Raghavendra G <rgowdapp@redhat.com> | 2016-11-01 11:54:27 +0530 |
---|---|---|
committer | Raghavendra G <rgowdapp@redhat.com> | 2018-05-28 09:58:52 +0000 |
commit | c772f84e2b7925d0bb294877db3f68bd7cdfb1a3 (patch) | |
tree | c1e3781f769f5860185aeb1fd18ecf3ea41b3ce1 /xlators/mgmt/glusterd/src/glusterd-snapd-svc.h | |
parent | 47440dd83592438840d3b2eb27f71403f6fba7b3 (diff) | |
download | glusterfs-c772f84e2b7925d0bb294877db3f68bd7cdfb1a3.tar.gz glusterfs-c772f84e2b7925d0bb294877db3f68bd7cdfb1a3.tar.xz glusterfs-c772f84e2b7925d0bb294877db3f68bd7cdfb1a3.zip |
performance/quick-read: Use generation numbers to avoid updating the cache with stale data
Thanks to Pranith for the example. Following is the race we are trying
to solve with this patch.
1) We have a file with content 'abc'
2) lookup and writev which replaces 'abc' with 'def' comes. Lookup
fetches abc but yet to update the cache, and then immediately
writev is wound which zeros out the cache. Now lookup_cbk updates
the buffer with 'abc' even though on disk it is 'def'. Now writev
completes and returns to application.
3) application does a readv which will be fetched from quick-read as
'abc'.
Change-Id: I9a9cab9c99652aa6d17230a4fe4dc034ec502b1b
BUG: 1390050
Updates: bz#1390050
Signed-off-by: Raghavendra G <rgowdapp@redhat.com>
Diffstat (limited to 'xlators/mgmt/glusterd/src/glusterd-snapd-svc.h')
0 files changed, 0 insertions, 0 deletions