All of lore.kernel.org
 help / color / mirror / Atom feed
From: Martin Brandenburg <martin@omnibond.com>
To: hubcap@omnibond.com, devel@lists.orangefs.org,
	linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org
Cc: Martin Brandenburg <martin@martinbrandenburg.com>
Subject: [PATCH 00/18] orangefs: page cache
Date: Tue, 12 Dec 2017 13:34:06 -0500	[thread overview]
Message-ID: <20171212183424.26406-1-martin@martinbrandenburg.com> (raw)

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

             reply	other threads:[~2017-12-12 18:34 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-12-12 18:34 Martin Brandenburg [this message]
2017-12-12 18:34 ` [PATCH 01/18] orangefs: open code short single-use functions Martin Brandenburg
2017-12-12 18:34 ` [PATCH 02/18] orangefs: implement vm_ops->fault Martin Brandenburg
2017-12-12 18:34 ` [PATCH 03/18] orangefs: do not invalidate attributes on inode create Martin Brandenburg
2017-12-12 18:34 ` [PATCH 04/18] orangefs: do not invalidate attribute cache on setattr Martin Brandenburg
2017-12-12 18:34 ` [PATCH 05/18] orangefs: reverse sense of revalidate is-inode-stale test Martin Brandenburg
2017-12-12 18:34 ` [PATCH 06/18] orangefs: move orangefs_address_operations to file.c Martin Brandenburg
2017-12-12 18:34 ` [PATCH 07/18] orangefs: remove orangefs_readpages Martin Brandenburg
2017-12-12 18:34 ` [PATCH 08/18] orangefs: make orangefs_inode_read static Martin Brandenburg
2017-12-12 18:34 ` [PATCH 09/18] orangefs: only set a_ops for regular files Martin Brandenburg
2017-12-12 18:34 ` [PATCH 10/18] orangefs: BUG_ON if i_mode invalid Martin Brandenburg
2017-12-12 18:34 ` [PATCH 11/18] orangefs: remove mapping_nrpages macro Martin Brandenburg
2017-12-12 18:34 ` [PATCH 12/18] orangefs: set up and use backing_dev_info Martin Brandenburg
2017-12-12 18:34 ` [PATCH 13/18] orangefs: inodes linger in cache Martin Brandenburg
2017-12-12 18:34 ` [PATCH 14/18] orangefs: implement direct_IO for the read case Martin Brandenburg
2017-12-12 18:34 ` [PATCH 15/18] orangefs: call generic_file_read_iter Martin Brandenburg
2017-12-12 18:34 ` [PATCH 16/18] orangefs: implement write through the page cache Martin Brandenburg
2017-12-12 18:34 ` [PATCH 17/18] orangefs: no more explicit setattr Martin Brandenburg
2017-12-12 18:34 ` [PATCH 18/18] orangefs: implement xattr cache Martin Brandenburg

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20171212183424.26406-1-martin@martinbrandenburg.com \
    --to=martin@omnibond.com \
    --cc=devel@lists.orangefs.org \
    --cc=hubcap@omnibond.com \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=martin@martinbrandenburg.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.