[GIT PULL] fuse update for 4.2

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

 



Hi Linus,

Please pull from:

  git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse.git for-linus

This is the start of improving fuse scalability.

An input queue and a processing queue is split out from the monolithic fuse
connection, each of those having their own spinlock.  The end of the patchset
adds the ability to clone a fuse connection.  This means, that instead of having
to read/write requests/answers on a single fuse device fd, the fuse daemon can
have multiple distinct file descriptors open.  Each of those can be used to
receive requests and send answers, currently the only constraint is that a
request must be answered on the same fd as it was read from.

This can be extended further to allow binding a device clone to a specific CPU
or NUMA node.

Based on a patchset by Srinivas Eeda and Ashish Samant.  Thanks to Ashish for
the review of this series.

(While the commits seem young, this has been in for-next for a month at least,
only the Reviewed-by tags were added recently).

Thanks,
Miklos

---
Miklos Szeredi (40):
      fuse: initialize fc->release before calling it
      fuse: fix background request if not connected
      fuse: reset waiting
      fuse: account as waiting before queuing for background
      fuse: check conn_error earlier
      fuse: fold fuse_request_send_nowait() into single caller
      fuse: call fuse_abort_conn() in dev release
      fuse: simplify request abort
      fuse: req use bitops
      fuse: use per req lock for lock/unlock_request()
      fuse: fold helpers into abort
      fuse: rework abort
      fuse: simplify unique ctr
      fuse: don't hold lock over request_wait_answer()
      fuse: simplify req states
      fuse: req state use flags
      fuse: separate out input queue
      fuse: duplicate ->connected in iqueue
      fuse: abort: group iqueue accesses
      fuse: dev read: split list_move
      fuse: iqueue locking
      fuse: allow interrupt queuing without fc->lock
      fuse: no fc->lock for iqueue parts
      fuse: simplify request_wait()
      fuse: separate out processing queue
      fuse: duplicate ->connected in pqueue
      fuse: move list_del_init() from request_end() into callers
      fuse: cleanup fuse_dev_do_read()
      fuse: abort: group pqueue accesses
      fuse: pqueue locking
      fuse: add req flag for private list
      fuse: request_end(): do once
      fuse: cleanup request_end()
      fuse: no fc->lock in request_end()
      fuse: no fc->lock for pqueue parts
      fuse: abort: no fc->lock needed for request ending
      fuse: device fd clone
      fuse: introduce per-instance fuse_dev structure
      fuse: separate pqueue for clones
      fuse: update MAINTAINERS entry

---
 Documentation/ioctl/ioctl-number.txt |   1 +
 MAINTAINERS                          |   2 +
 fs/fuse/cuse.c                       |  15 +-
 fs/fuse/dev.c                        | 825 ++++++++++++++++++-----------------
 fs/fuse/file.c                       |  20 +-
 fs/fuse/fuse_i.h                     | 167 ++++---
 fs/fuse/inode.c                      |  86 +++-
 include/uapi/linux/fuse.h            |   3 +
 8 files changed, 630 insertions(+), 489 deletions(-)
--
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[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