[GIT PULL] AFS fixes

From: David Howells
Date: Fri Mar 17 2017 - 11:30:38 EST


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
represents.

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

Thanks,
David
---
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(-)