From c47961cc18f7bbc1b46e1cdf5662b8ec409065e5 Mon Sep 17 00:00:00 2001 From: Raghavendra G Date: Thu, 3 Feb 2011 01:56:28 +0000 Subject: performance/quick-read: disable caching for fds opened with GF_OPEN_NOWB flags. Signed-off-by: Raghavendra G Signed-off-by: Anand V. Avati BUG: 2240 (Solaris client hangs on file read operations) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2240 --- xlators/performance/quick-read/src/quick-read.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'xlators/performance/quick-read/src/quick-read.c') diff --git a/xlators/performance/quick-read/src/quick-read.c b/xlators/performance/quick-read/src/quick-read.c index 9b0afe1f5..cc83772a5 100644 --- a/xlators/performance/quick-read/src/quick-read.c +++ b/xlators/performance/quick-read/src/quick-read.c @@ -646,7 +646,8 @@ qr_open (call_frame_t *frame, xlator_t *this, loc_t *loc, int32_t flags, if (!content_cached || ((flags & O_ACCMODE) == O_WRONLY) || ((flags & O_TRUNC) == O_TRUNC) - || ((flags & O_DIRECT) == O_DIRECT)) { + || ((flags & O_DIRECT) == O_DIRECT) + || ((wbflags & GF_OPEN_NOWB) != 0)) { LOCK (&qr_fd_ctx->lock); { /* @@ -655,7 +656,8 @@ qr_open (call_frame_t *frame, xlator_t *this, loc_t *loc, int32_t flags, */ qr_fd_ctx->open_in_transit = 1; - if ((flags & O_DIRECT) == O_DIRECT) { + if (((flags & O_DIRECT) == O_DIRECT) + || ((wbflags & GF_OPEN_NOWB)) != 0) { qr_fd_ctx->disabled = 1; } } -- cgit