lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [day] [month] [year] [list]
Date:	Thu, 2 Jul 2015 11:09:54 +0200
From:	Miklos Szeredi <miklos@...redi.hu>
To:	Linus Torvalds <torvalds@...ux-foundation.org>
Cc:	linux-kernel@...r.kernel.org, linux-fsdevel@...r.kernel.org,
	Ashish Samant <ashish.samant@...cle.com>,
	Srinivas Eeda <srinivas.eeda@...cle.com>
Subject: [GIT PULL] fuse update for 4.2

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-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ