[PATCH 00/17] orangefs: page cache

From: Martin Brandenburg
Date: Mon Sep 17 2018 - 16:11:14 EST


If no major issues are found in review or in our testing, we intend to
submit this during the next merge window.

The goal of all this is to significantly reduce the number of network
requests made to the OrangeFS

First the xattr cache is needed because otherwise we make a ton of
getxattr calls from security_inode_need_killpriv.

Then there's some reorganization so inode changes can be cached.
Finally, we enable write_inode.

Then remove the old readpages. Next there's some reorganization to
support readpage/writepage. Finally, enable readpage/writepage which
is fairly straightforward except for the need to separate writes from
different uid/gid pairs due to the design of our server.

Martin Brandenburg (17):
orangefs: implement xattr cache
orangefs: do not invalidate attributes on inode create
orangefs: simply orangefs_inode_getattr interface
orangefs: update attributes rather than relying on server
orangefs: hold i_lock during inode_getattr
orangefs: set up and use backing_dev_info
orangefs: let setattr write to cached inode
orangefs: reorganize setattr functions to track attribute changes
orangefs: remove orangefs_readpages
orangefs: service ops done for writeback are not killable
orangefs: migrate to generic_file_read_iter
orangefs: implement writepage
orangefs: skip inode writeout if nothing to write
orangefs: write range tracking
orangefs: avoid fsync service operation on flush
orangefs: use kmem_cache for orangefs_write_request
orangefs: implement writepages

fs/orangefs/acl.c | 4 +-
fs/orangefs/file.c | 193 ++++--------
fs/orangefs/inode.c | 576 +++++++++++++++++++++++++++-------
fs/orangefs/namei.c | 41 ++-
fs/orangefs/orangefs-cache.c | 24 +-
fs/orangefs/orangefs-kernel.h | 56 +++-
fs/orangefs/orangefs-mod.c | 10 +-
fs/orangefs/orangefs-utils.c | 181 +++++------
fs/orangefs/super.c | 38 ++-
fs/orangefs/waitqueue.c | 18 +-
fs/orangefs/xattr.c | 104 ++++++
11 files changed, 839 insertions(+), 406 deletions(-)

--
2.19.0