summaryrefslogtreecommitdiff
path: root/fs/netfs/objects.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/netfs/objects.c')
-rw-r--r--fs/netfs/objects.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/fs/netfs/objects.c b/fs/netfs/objects.c
index 7153f24e8034..93f1d7431199 100644
--- a/fs/netfs/objects.c
+++ b/fs/netfs/objects.c
@@ -20,8 +20,10 @@ struct netfs_io_request *netfs_alloc_request(struct address_space *mapping,
struct inode *inode = file ? file_inode(file) : mapping->host;
struct netfs_inode *ctx = netfs_inode(inode);
struct netfs_io_request *rreq;
- bool is_dio = (origin == NETFS_DIO_READ);
- bool cached = is_dio && netfs_is_cache_enabled(ctx);
+ bool is_unbuffered = (origin == NETFS_UNBUFFERED_WRITE ||
+ origin == NETFS_DIO_READ ||
+ origin == NETFS_DIO_WRITE);
+ bool cached = !is_unbuffered && netfs_is_cache_enabled(ctx);
int ret;
rreq = kzalloc(ctx->ops->io_request_size ?: sizeof(struct netfs_io_request),