summaryrefslogtreecommitdiffstats
path: root/fs/exofs
diff options
context:
space:
mode:
authorBoaz Harrosh <bharrosh@panasas.com>2014-01-13 22:45:43 +0100
committerBoaz Harrosh <bharrosh@panasas.com>2014-01-23 17:54:11 +0100
commitd83c7eb65d9bf0a57e7d5ed87a5bd8e5ea6b1fb6 (patch)
treec7a061f45272edcae2ecf0d486576a0f024aaa07 /fs/exofs
parentore: Don't crash on NULL bio in _clear_bio (diff)
downloadlinux-d83c7eb65d9bf0a57e7d5ed87a5bd8e5ea6b1fb6.tar.xz
linux-d83c7eb65d9bf0a57e7d5ed87a5bd8e5ea6b1fb6.zip
exofs: Allow O_DIRECT open
With this minimal do nothing patch an application can open O_DIRECT and then actually do buffered sync IO instead. But the aio API is supported which is a good thing Signed-off-by: Boaz Harrosh <bharrosh@panasas.com>
Diffstat (limited to 'fs/exofs')
-rw-r--r--fs/exofs/inode.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/fs/exofs/inode.c b/fs/exofs/inode.c
index a52a5d23c30b..7e7ba9ada405 100644
--- a/fs/exofs/inode.c
+++ b/fs/exofs/inode.c
@@ -961,6 +961,14 @@ static void exofs_invalidatepage(struct page *page, unsigned int offset,
WARN_ON(1);
}
+
+ /* TODO: Should be easy enough to do proprly */
+static ssize_t exofs_direct_IO(int rw, struct kiocb *iocb,
+ const struct iovec *iov, loff_t offset, unsigned long nr_segs)
+{
+ return 0;
+}
+
const struct address_space_operations exofs_aops = {
.readpage = exofs_readpage,
.readpages = exofs_readpages,
@@ -974,7 +982,7 @@ const struct address_space_operations exofs_aops = {
/* Not implemented Yet */
.bmap = NULL, /* TODO: use osd's OSD_ACT_READ_MAP */
- .direct_IO = NULL, /* TODO: Should be trivial to do */
+ .direct_IO = exofs_direct_IO,
/* With these NULL has special meaning or default is not exported */
.get_xip_mem = NULL,