diff options
-rw-r--r-- | xlators/performance/io-cache/src/io-cache.c | 5 | ||||
-rw-r--r-- | xlators/performance/io-cache/src/io-cache.h | 1 |
2 files changed, 6 insertions, 0 deletions
diff --git a/xlators/performance/io-cache/src/io-cache.c b/xlators/performance/io-cache/src/io-cache.c index e4ca446cf5b..211f47ece8a 100644 --- a/xlators/performance/io-cache/src/io-cache.c +++ b/xlators/performance/io-cache/src/io-cache.c @@ -555,6 +555,11 @@ ioc_open_cbk (call_frame_t *frame, void *cookie, xlator_t *this, int32_t op_ret, fd_ctx_set (fd, this, 1); } + if ((local->wbflags & GF_OPEN_NOWB) != 0) { + /* disable caching as asked by NFS */ + fd_ctx_set (fd, this, 1); + } + /* weight = 0, we disable caching on it */ if (weight == 0) { /* we allow a pattern-matched cache disable this way diff --git a/xlators/performance/io-cache/src/io-cache.h b/xlators/performance/io-cache/src/io-cache.h index 0b164efe4f4..d01344fef99 100644 --- a/xlators/performance/io-cache/src/io-cache.h +++ b/xlators/performance/io-cache/src/io-cache.h @@ -84,6 +84,7 @@ struct ioc_fill { struct ioc_local { mode_t mode; int32_t flags; + int32_t wbflags; loc_t file_loc; off_t offset; size_t size; |