diff options
author | Boaz Harrosh <bharrosh@panasas.com> | 2014-01-13 22:45:43 +0100 |
---|---|---|
committer | Boaz Harrosh <bharrosh@panasas.com> | 2014-01-23 17:54:11 +0100 |
commit | d83c7eb65d9bf0a57e7d5ed87a5bd8e5ea6b1fb6 (patch) | |
tree | c7a061f45272edcae2ecf0d486576a0f024aaa07 /fs/exofs | |
parent | ore: Don't crash on NULL bio in _clear_bio (diff) | |
download | linux-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.c | 10 |
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, |