[PATCH 00/14] AFS: Fixes and cleanups

From: David Howells
Date: Fri Feb 24 2017 - 08:14:58 EST



Hi Al,

Here are some fixes to the AFS filesystem, including:

(1) Refcount errors.

(2) Showing the GID from the server in stat.

(3) Fix handling of AFS mode bits (which don't work quite the same way as
Linux mode bits).

(4) Handle a callback where the FID array and the callback array arguments
are not populated with the same number of entries (the callback array
may be empty).

(5) Better handle FS.FetchData{,64} returning more or less data than
requested (usually because the EOF pointer shifted).

(6) Make afs_write_end() handle a short write to a page (ie. EFAULT).

(7) Flush outstanding writes on closing a file to be consistent with NFS,
CIFS and other AFS clients.

(8) Mountpoints (which appear as special symlinks with mode 0644) can be
differentiated from real symlinks (with mode 0777) can be
distinguished on mode alone and so we shouldn't try parsing the
symlink.

(9) RCU initialisation fixes.

(10) Internal time field 64-bit-isation.

The patches can be found here also:

http://git.kernel.org/cgit/linux/kernel/git/dhowells/linux-fs.git/log/?h=afs

Tagged thusly:

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

David
---
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 (7):
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

Marc Dionne (3):
afs: Populate group ID from vnode status
afs: Adjust mode bits processing
afs: Deal with an empty callback array

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 | 8 ++++++--
fs/afs/fsclient.c | 53 +++++++++++++++++++++++++++++++++++++---------------
fs/afs/inode.c | 40 +++++++++++++++++++++------------------
fs/afs/internal.h | 21 ++++++++++++---------
fs/afs/mntpt.c | 53 ----------------------------------------------------
fs/afs/security.c | 9 +++++++--
fs/afs/server.c | 6 +++---
fs/afs/vlocation.c | 16 +++++++++-------
fs/afs/write.c | 44 ++++++++++++++++++++++++++++++++++---------
11 files changed, 140 insertions(+), 128 deletions(-)