summaryrefslogtreecommitdiffstats
path: root/xlators
diff options
context:
space:
mode:
authorRaghavendra G <raghavendra@gluster.com>2012-04-16 11:38:33 +0530
committerVijay Bellur <vijay@gluster.com>2012-04-18 00:00:16 -0700
commit7ef32ae76d1c1e4a5ff47899d175be9fdeb73bc8 (patch)
tree7cc913672ddcf5ee073dde5af1a0ab16a267ba85 /xlators
parent80eeaab2be884f0ebc89704011421541742cd5e6 (diff)
performance/quick-read: disable reading from cache if unlink has
happened after fd was opened. If dentry being unlinked is the last one, there is a possibility that later, a new entry with same name being created. After creation of new file, we shouldn't be returning the contents of this new file, when application reads using fd opened before unlink. Change-Id: Ic98aa9cd76d24e8a37ce02a0aae6c66290043192 BUG: 811976 Signed-off-by: Raghavendra G <raghavendra@gluster.com> Reviewed-on: http://review.gluster.com/3151 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Vijay Bellur <vijay@gluster.com>
Diffstat (limited to 'xlators')
-rw-r--r--xlators/performance/quick-read/src/quick-read.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/xlators/performance/quick-read/src/quick-read.c b/xlators/performance/quick-read/src/quick-read.c
index 6476ec5..beddfd8 100644
--- a/xlators/performance/quick-read/src/quick-read.c
+++ b/xlators/performance/quick-read/src/quick-read.c
@@ -3245,6 +3245,10 @@ qr_unlink (call_frame_t *frame, xlator_t *this, loc_t *loc, int xflag,
LOCK (&fdctx->lock);
{
+ if (qr_inode->stbuf.ia_nlink == 1) {
+ fdctx->disabled = 1;
+ }
+
if ((fdctx->opened)
|| (strcmp (loc->path, fdctx->path) != 0)) {
list_del (&fdctx->tmp_list);