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>] [thread-next>] [day] [month] [year] [list]
Message-ID: <155269076033.8537.10785090349210421514.stgit@warthog.procyon.org.uk>
Date:   Fri, 15 Mar 2019 22:59:20 +0000
From:   David Howells <dhowells@...hat.com>
To:     linux-afs@...ts.infradead.org
Cc:     Jonathan Billings <jsbillings@...illings.org>,
        Jonathan Billings <jsbillin@...ch.edu>, dhowells@...hat.com,
        linux-fsdevel@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: [PATCH 00/10] AFS fixes


Here's a set of bits and fixes for AFS to improve the life of desktop
applications such as firefox.  It makes the following improvements:

 (1) Allows fine-grained locking, as required by firefox and sqlite, with
     the caveat that you can't get a partial write lock on a file if you
     first get a partial read lock on it as the AFS protocol only supports
     whole-file locks.

     At some point I need to look at emulating OpenAFS's behaviour whereby
     all partial locks are just granted.

 (2) Makes processes requesting locks actually wait to get a lock where we
     have an appropriate server lock, but there's a conflicting server
     lock.

 (3) Makes locks appear in /proc/locks.

 (4) Handles asynchronous file lock RPC operation failure on files that get
     deleted whilst the lock is being extended or released.

 (5) Implements silly-rename so that locked files that are in use continue
     to exist if they get released or unlinked.

 (6) Lock expiry is now based on the time the set- or extend-lock reply is
     seen (packet timestamp) rather than by the time at which we've done
     processing the operation (wallclock time).

It also adds/modifies tracepoints to log:

 (1) File locking operations and events.

 (2) Directory content reload.

 (3) Silly rename.

 (4) Lookups.

 (5) Mounts (get_tree).

 (6) The afs_make_fs_call tracepoint is split to give two new variants that
     allow one or two names to be included in the log (such as the filename
     given to FS.MakeDir).

 (7) The afs_edit_dir tracepoint is given a larger name and this is
     surrounded by quotes when displayed.

This also provides a more comprehensive data dump in the event that a
directory content check fails.

The patches can be found here:

	http://git.kernel.org/cgit/linux/kernel/git/dhowells/linux-fs.git
	tag afs-fixes-20190315

David
---
David Howells (10):
      afs: Split wait from afs_make_call()
      afs: Calculate lock extend timer from set/extend reply reception
      afs: Fix AFS file locking to allow fine grained locks
      afs: Further fix file locking
      afs: Add file locking tracepoints
      afs: Improve dir check failure reports
      afs: Handle lock rpc ops failing on a file that got deleted
      afs: Add directory reload tracepoint
      afs: Implement sillyrename for unlink and rename
      afs: Add more tracepoints


 fs/afs/Makefile            |    1 
 fs/afs/dir.c               |  161 +++++++++++-
 fs/afs/dir_silly.c         |  239 ++++++++++++++++++
 fs/afs/flock.c             |  569 +++++++++++++++++++++++++++-----------------
 fs/afs/fs_probe.c          |   13 +
 fs/afs/fsclient.c          |   92 +++++--
 fs/afs/inode.c             |    2 
 fs/afs/internal.h          |   25 ++
 fs/afs/rxrpc.c             |   33 +--
 fs/afs/super.c             |    5 
 fs/afs/vl_probe.c          |   14 +
 fs/afs/vlclient.c          |   26 +-
 fs/afs/yfsclient.c         |   72 ++++--
 include/linux/fs.h         |    1 
 include/trace/events/afs.h |  348 +++++++++++++++++++++++++++
 15 files changed, 1258 insertions(+), 343 deletions(-)
 create mode 100644 fs/afs/dir_silly.c

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ