Web lists-archives.com

[GIT PULL] AFS fixes

Hi Linus,

Could you pull these fixes to the AFS filesystem in the kernel please?

They fix a variety of bugs.  These include some issues fixed for
consistency with other AFS implementations:

 (*) Handle AFS mode bits better.

 (*) Use the client mtime rather than the server mtime in the protocol.

 (*) Handle the server returning more or less data than was requested in a
     FetchData call.

 (*) Distinguish mountpoints from symlinks based on the mode bits rather
     than preemptively reading every symlink to find out what it actually

One other notable change for the user is that files are now flushed on
close analogously with other network filesystems.

The following changes since commit 69eea5a4ab9c705496e912b55a9d312325de19e6:

  Merge branch 'for-linus' of git://git.kernel.dk/linux-block (2017-03-15 16:54:58 -0700)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git tags/afs-20170316

for you to fetch changes up to c5051c7bc777dffa5661569dec5997f432b9a34a:

  afs: Don't wait for page writeback with the page lock held (2017-03-16 16:29:30 +0000)

kAFS fixes

Andreea-Cristina Bernat (2):
      afs: inode: Replace rcu_assign_pointer() with RCU_INIT_POINTER()
      afs: security: Replace rcu_assign_pointer() with RCU_INIT_POINTER()

David Howells (20):
      afs: Fix missing put_page()
      afs: Fix page overput in afs_fill_page()
      afs: Handle better the server returning excess or short data
      afs: Kill struct afs_read::pg_offset
      afs: Handle a short write to an AFS page
      afs: Flush outstanding writes when an fd is closed
      afs: Distinguish mountpoints from symlinks by file mode alone
      afs: Fix AFS read bug
      afs: Make struct afs_read::remain 64-bit
      afs: Use a bvec rather than a kvec in afs_send_pages()
      afs: Fix the maths in afs_fs_store_data()
      afs: Invalid op ID should abort with RXGEN_OPCODE
      afs: Better abort and net error handling
      afs: Don't set PG_error on local EINTR or ENOMEM when filling a page
      afs: Fix page leak in afs_write_begin()
      afs: Fix afs_kill_pages()
      afs: Fix an off-by-one error in afs_send_pages()
      afs: Fix abort on signal while waiting for call completion
      afs: ->writepage() shouldn't call clear_page_dirty_for_io()
      afs: Don't wait for page writeback with the page lock held

Marc Dionne (4):
      afs: Populate group ID from vnode status
      afs: Adjust mode bits processing
      afs: Deal with an empty callback array
      afs: Populate and use client modification time

Tina Ruchandani (2):
      afs: Migrate vlocation fields to 64-bit
      afs: Prevent callback expiry timer overflow

 fs/afs/callback.c  |   7 +--
 fs/afs/cmservice.c |  11 ++--
 fs/afs/file.c      |  20 +++++--
 fs/afs/fsclient.c  |  77 +++++++++++++++++----------
 fs/afs/inode.c     |  42 ++++++++-------
 fs/afs/internal.h  |  23 +++++----
 fs/afs/misc.c      |   2 +
 fs/afs/mntpt.c     |  53 -------------------
 fs/afs/rxrpc.c     | 149 ++++++++++++++++++++++++++++++-----------------------
 fs/afs/security.c  |   9 +++-
 fs/afs/server.c    |   6 +--
 fs/afs/vlocation.c |  16 +++---
 fs/afs/write.c     |  76 +++++++++++++++++++--------
 13 files changed, 269 insertions(+), 222 deletions(-)