The first five patches were sent up two weeks ago. https://marc.info/?l=linux-fsdevel&m=151190064825337&w=2 There is a bug in the original "implement vm_ops->fault" which is fixed here. When expanding generic_file_readonly_mmap, I neglected to include the test for VM_SHARED and VM_MAYWRITE. The test is removed later in "implement write through the page cache," but if only the first five are accepted for the next kernel, they should be taken from here. I sent this up some time ago https://marc.info/?l=linux-fsdevel&m=149548681910978&w=2 I hope the code is faily self-explanatory. This isn't quite in a fully finished or tested state, but it's starting to come together. Unfortunately most of the changes from last time are fixes for subtle bugs and are rebased in, which makes them hard to see. This is significantly more stable than it was six months ago, but I'm still worried about how it will act when run for days, weeks, months at a time and across multiple machines. This is the next step in my testing. I'd appreciate any reviews, even if just to tell me that I've done everything completely wrong. Martin Brandenburg (18): orangefs: open code short single-use functions orangefs: implement vm_ops->fault orangefs: do not invalidate attributes on inode create orangefs: do not invalidate attribute cache on setattr orangefs: reverse sense of revalidate is-inode-stale test orangefs: move orangefs_address_operations to file.c orangefs: remove orangefs_readpages orangefs: make orangefs_inode_read static orangefs: only set a_ops for regular files orangefs: BUG_ON if i_mode invalid orangefs: remove mapping_nrpages macro orangefs: set up and use backing_dev_info orangefs: inodes linger in cache orangefs: implement direct_IO for the read case orangefs: call generic_file_read_iter orangefs: implement write through the page cache orangefs: no more explicit setattr orangefs: implement xattr cache fs/orangefs/acl.c | 11 +- fs/orangefs/dcache.c | 17 +- fs/orangefs/file.c | 353 +++++++++++++++++++++++------------------- fs/orangefs/inode.c | 259 ++++--------------------------- fs/orangefs/namei.c | 75 ++++++--- fs/orangefs/orangefs-kernel.h | 19 +-- fs/orangefs/orangefs-utils.c | 11 +- fs/orangefs/super.c | 60 ++++++- fs/orangefs/symlink.c | 2 - fs/orangefs/xattr.c | 62 ++++++++ 10 files changed, 409 insertions(+), 460 deletions(-) -- 2.15.1