[no subject]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Mike,

Here's what I propose for 4.12.  This is modified slightly from the last
series I posted.

When receiving directories from the userspace daemon, instead of copying
into pages allocated for that purpose, it constructs a linked list of
the trailers which come from the op handler.  I didn't do this at first
because I thought they would be freed upon op_release.  However they are
actually freed manually.  So they are put into a list and freed when the
directory is released.

There's also a new commit in here which provides a fast path to
orangefs_devreq_read.  There's no need to take the lock if the list is
empty.  I see a considerable performance increase in streaming writes
(dd if=/dev/zero of=filesystem) here on my laptop, but nothing on bigger
machines.

Martin

The following changes since commit 4f7d029b9bf009fbee76bb10c0c4351a1870d2f3:

  Linux 4.11-rc7 (2017-04-16 13:00:18 -0700)

are available in the git repository at:

  https://github.com/martinbrandenburg/linux.git for-hubcap-v4.12

for you to fetch changes up to 776e81f9b64ecd4ab909d9e2e366b22eca8ed2dc:

  orangefs: return from orangefs_devreq_read quickly if possible (2017-04-22 14:48:25 -0400)

----------------------------------------------------------------
Martin Brandenburg (12):
      orangefs: remove unused get_fsid_from_ino
      orangefs: fix bounds check for listxattr
      orangefs: clean up oversize xattr validation
      orangefs: do not set getattr_time on orangefs_lookup
      orangefs: rewrite readdir to fix several bugs
      orangefs: support llseek on directories
      orangefs: support very large directories
      orangefs: remove ORANGEFS_READDIR macros
      orangefs: implement statx
      orangefs: do not check possibly stale size on truncate
      orangefs: ensure the userspace component is unmounted if mount fails
      orangefs: return from orangefs_devreq_read quickly if possible

 fs/orangefs/devorangefs-req.c    |   4 +
 fs/orangefs/dir.c                | 613 +++++++++++++++++++--------------------
 fs/orangefs/downcall.h           |  16 +-
 fs/orangefs/file.c               |   6 +-
 fs/orangefs/inode.c              |  19 +-
 fs/orangefs/namei.c              |   5 +-
 fs/orangefs/orangefs-dev-proto.h |   7 +-
 fs/orangefs/orangefs-kernel.h    |   9 +-
 fs/orangefs/orangefs-utils.c     |  98 +++----
 fs/orangefs/protocol.h           |   9 +-
 fs/orangefs/super.c              |  28 +-
 fs/orangefs/xattr.c              |  26 +-
 12 files changed, 405 insertions(+), 435 deletions(-)



[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]
  Powered by Linux